Вопрос проверяет знание различных механизмов для безопасного доступа к общим ресурсам из нескольких потоков.
Короткий ответ
Инструменты синхронизации предотвращают состояние гонки (race condition) при одновременном доступе к данным. Основные: DispatchSemaphore ограничивает количество потоков, имеющих доступ. DispatchBarrier обеспечивает эксклюзивный доступ для записи в concurrent очереди. Mutex (NSLock, pthread_mutex) блокирует критическую секцию, позволяя работать только одному потоку. Actors — современный механизм из Swift Concurrency, который изолирует состояние и позволяет безопасно к нему обращаться через await.
Длинный ответ
Зарегистрироваться
Развернутый ответ доступен только зарегистрированным пользователям.