Все старые C замки есть, но они пытаются направить всех к os_unfair_lock
, в настоящее время. См. Параллельное программирование с GCD , где они обсуждают C механизмы блокировки (и как бы вы использовали их в Swift, если хотите), и это обсуждение затрагивает их мыслительный процесс в отношении блокировок в настоящее время.
Но вы можете использовать pthread_mutex_t
, как и раньше. Или, если вы имеете дело с атомом c, вы можете использовать OSAtomicXXX
. Старый спин-блокировка устарела, вместо этого рекомендуется os_unfair_lock
. Все эти опции скрыты на man
страницах .
Излишне говорить, что из Objective- C у вас все еще есть NSLock
, NSRecursiveLock
и директива @synchronized
тоже.
Старая Руководство по программированию потоков: Использование блокировок перечисляет несколько альтернатив блокировки.