Forwarded from Java Memes → АйТи мемес
This media is not supported in your browser
VIEW IN TELEGRAM
🔥12😁4👍2❤1🤯1
👍3
Хотели бы вы узнать как устроены внутри сложные фичи в продукте бигтеха (Допустим как в видео ниже)?
Anonymous Poll
96%
+
4%
-
👍4🔥2❤1🤯1
Хотели бы вы поучастовать в мок собесе?
Псс в описании можно об этом отписать мне
Псс в описании можно об этом отписать мне
Anonymous Poll
61%
+
39%
-
👍1
👍5😁3🔥2🤯2❤1
Что выведется?
Anonymous Quiz
45%
Optional(Object), deinit
6%
deinit
40%
Optional(Object)
9%
deinit, Optional(Object)
❤2😁2👍1🔥1🤯1
На каком потоке освобождается обьект?
Anonymous Quiz
14%
main
5%
background
77%
На то же, что и был последний release
5%
На глоальной очереди
❤2
👍4❤1🔥1🤯1
🤖 Что такое актор?
Актор — это reference type. Он нужен для защиты от data races.
🔐 Изоляция и доступ
• Внутренние свойства и методы актора изолированы от прямого доступа извне. Любой доступ требует использования ключевого слова await, что обозначает потенциальную точку останова.
• Исключения составляют non-isolated свойства или методы, которые не изменяют состояние и могут вызываться синхронно, без await .
🎯 Серийный исполнитель (Serial Executor)
• У акторов присутствует внутренняя очередь‑исполнитель, которая последовательно обрабатывает задачи, что обеспечивает потокобезопасность.
• При этом порядок выполнения может отличаться от FIFO и использовать приоритеты.
📏 Основные правила взаимодействия с акторами
• Доступ к изменяемым свойствам должен быть асинхронным и сопровождаться await.
• Использование non-isolated разрешается только для неизменяемых (let) или не влияющих на состояние методов.
🚀 Преимущества
• Намного проще в управлении по сравнению с DispatchQueue, Operation или lock’ами.
• Повышают потокобезопасность вашего кода.
Пример
• В статье приведён пример актора Account с let accountNumber, доступное синхронно (non-isolated), и изменяемым balance, доступным только через await в async‑методах.
🔗 Читать статью на Medium
Актор — это reference type. Он нужен для защиты от data races.
🔐 Изоляция и доступ
• Внутренние свойства и методы актора изолированы от прямого доступа извне. Любой доступ требует использования ключевого слова await, что обозначает потенциальную точку останова.
• Исключения составляют non-isolated свойства или методы, которые не изменяют состояние и могут вызываться синхронно, без await .
🎯 Серийный исполнитель (Serial Executor)
• У акторов присутствует внутренняя очередь‑исполнитель, которая последовательно обрабатывает задачи, что обеспечивает потокобезопасность.
• При этом порядок выполнения может отличаться от FIFO и использовать приоритеты.
📏 Основные правила взаимодействия с акторами
• Доступ к изменяемым свойствам должен быть асинхронным и сопровождаться await.
• Использование non-isolated разрешается только для неизменяемых (let) или не влияющих на состояние методов.
🚀 Преимущества
• Намного проще в управлении по сравнению с DispatchQueue, Operation или lock’ами.
• Повышают потокобезопасность вашего кода.
Пример
• В статье приведён пример актора Account с let accountNumber, доступное синхронно (non-isolated), и изменяемым balance, доступным только через await в async‑методах.
🔗 Читать статью на Medium
Medium
Swift Actors — in depth
Learn, don’t memorize.
👍3🔥2