Вопрос проверяет понимание типов блокировок и их поведения в многопоточной среде.
Короткий ответ
NSLock — это нерекурсивный лок. Если поток попытается захватить его повторно, это приведет к deadlock. Для рекурсивных блокировок используйте NSRecursiveLock.
Длинный ответ
Зарегистрироваться
Развернутый ответ доступен только зарегистрированным пользователям.