Мы используем NSLock для блокировки в Objective C. Я портирую код ac plus plus.Там они использовали блокировки для критической секции и блокировки мьютекса.Достаточно ли NSLock для блокировки критической секции, а также мьютекса.
Я бы сказал, что NSLock достаточно, но если вы думаете, что вам, возможно, придется блокировать, когда блокировка уже заблокирована (тем самым вызывая тупик), вы можете посмотреть на NSRecursiveLock.
NSLock
NSRecursiveLock