12 из 90 вопросов — случайная выборка · Ответьте на все и узнайте свой результат
Когда нужно получить несколько блокировок на разных потоках, какая стратегия рекомендуется для предотвращения deadlock?
Всегда получай все блокировки, используя sync dispatch на одну серийную очередь
sync
Используй DispatchSemaphore с timeout, чтобы потоки никогда не ждали бесконечно
DispatchSemaphore
Установи и следуй консистентному глобальному порядку при получении блокировок
Предпочитай NSRecursiveLock, чтобы один и тот же поток мог перезахватить любую блокировку
NSRecursiveLock