Можно использовать:
- DispatchQueue с .sync или .barrier;
- NSLock, NSRecursiveLock;
- DispatchSemaphore;
- OperationQueue + dependencies;
-
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Anonymous Quiz
16%
map
24%
forEach
26%
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
💊5🤔3
Anonymous Quiz
4%
!
49%
?
47%
??
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
8%
Декларирование как private
2%
Использование internal
0%
Объявление как closed
Anonymous Quiz
82%
Использование serial dispatch queue
8%
Применение 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
65%
Через manual retain/release
19%
Используя структуру данных с счётчиком
15%
При помощи 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
57%
Extensions
30%
Protocols
10%
Generics
4%
Inheritance
Anonymous Quiz
77%
Выполняется перед выходом из текущего блока кода
1%
Выполняется после загрузки всех классов в модуле
3%
Выполняется перед инициализацией любых переменных
19%
Выполняется сразу после входа в функцию
💊1
– Сложность при большом количестве классов,
– Избыточное наследование,
– Низкая гибкость при изменении структуры,
– Возможные циклы зависимостей,
– Переусложнение при решении простых задач.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
45%
Использование Regex при инициализации
24%
Применение String Interpolation
11%
Использование Literal Convertibles
20%
Применение pattern matching
Anonymous Quiz
75%
func makeIncrementer() -> () -> Int
7%
func makeIncrementer() -> func -> Int
10%
func makeIncrementer() returns () -> Int
7%
func makeIncrementer() -> Int()
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
81%
20
11%
21
7%
22
0%
23
💊2