Можно использовать:
- DispatchQueue с .sync или .barrier;
- NSLock, NSRecursiveLock;
- DispatchSemaphore;
- OperationQueue + dependencies;
-
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Anonymous Quiz
16%
map
23%
forEach
27%
parallelMap
34%
concurrentPerform
🔥1
Anonymous Quiz
1%
Способ скрытия данных
98%
Способ создания нового класса на основе существующего
1%
Способ обеспечения безопасности потоков
0%
Способ управления памятью
Возможно, имелось в виду CAS — Compare-And-Swap — атомарная операция, используемая в многопоточности. CASD в таком виде не является распространённым термином, нужно уточнение контекста.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊4🤔3
Anonymous Quiz
4%
!
50%
?
46%
??
0%
->
🔥1
Anonymous Quiz
54%
Использование метки с break
7%
Применение exit()
31%
Использование return в функции
8%
Применение continue с меткой
Это механизм анимации в SwiftUI, позволяющий плавно анимировать переходы между представлениями, сохраняя визуальную взаимосвязь между элементами, которые логически одинаковые, но физически находятся в разных частях UI.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
Anonymous Quiz
90%
Использование fileprivate
9%
Декларирование как private
2%
Использование internal
0%
Объявление как closed
Anonymous Quiz
82%
Использование serial dispatch queue
9%
Применение semaphores
6%
Использование concurrent dispatch queue
4%
Применение NSLock
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
0%
0
95%
nil
5%
undefined
0%
пустая строка
Anonymous Quiz
66%
Через manual retain/release
18%
Используя структуру данных с счётчиком
14%
При помощи weak переменных
1%
С использованием Unmanaged
- Использовать сериализацию доступа через DispatchQueue.sync (последовательная очередь).
- Применять NSLock, os_unfair_lock или pthread_mutex.
- Использовать конкурентные очереди с барьерами (DispatchQueue.concurrent + barrier).
- Использовать встроенные потокобезопасные типы, если они доступны в библиотеке (например, ConcurrentDictionary в .NET).
- Создавать обёртки (wrapper) вокруг коллекции с контролем доступа.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
59%
Extensions
29%
Protocols
9%
Generics
4%
Inheritance
Anonymous Quiz
76%
Выполняется перед выходом из текущего блока кода
1%
Выполняется после загрузки всех классов в модуле
3%
Выполняется перед инициализацией любых переменных
19%
Выполняется сразу после входа в функцию
💊1
– Сложность при большом количестве классов,
– Избыточное наследование,
– Низкая гибкость при изменении структуры,
– Возможные циклы зависимостей,
– Переусложнение при решении простых задач.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
49%
Использование Regex при инициализации
24%
Применение String Interpolation
8%
Использование Literal Convertibles
19%
Применение pattern matching
Anonymous Quiz
75%
func makeIncrementer() -> () -> Int
7%
func makeIncrementer() -> func -> Int
11%
func makeIncrementer() returns () -> Int
7%
func makeIncrementer() -> Int()
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
82%
20
6%
21
12%
22
0%
23