Ios Objective-C/Swift中是否存在除os__锁定之外的任何本机C级锁定?

Ios Objective-C/Swift中是否存在除os__锁定之外的任何本机C级锁定?,ios,c,macos,synchronization,Ios,C,Macos,Synchronization,我很好奇,开始在iOS/macOS平台上寻找所有可用的C级同步工具。然而,根据官方文件(),os\u\u lock似乎是唯一可用的同步工具 我遗漏了什么吗?所有的C级信号量/监视器工具都在哪里?所有旧的C锁都在那里,但现在它们正试图引导每个人使用操作系统锁。看看他们在哪里讨论了C锁机制(如果你想的话,你将如何在Swift中使用它们),这个讨论涉及到他们现在关于锁的思想过程 但是你可以像以前一样使用。或者,如果你正在处理一个原子,你可以使用。旧的自旋锁已被弃用,建议使用此os\u锁来代替它。所有这

我很好奇,开始在iOS/macOS平台上寻找所有可用的C级同步工具。然而,根据官方文件(),
os\u\u lock
似乎是唯一可用的同步工具


我遗漏了什么吗?所有的C级信号量/监视器工具都在哪里?

所有旧的C锁都在那里,但现在它们正试图引导每个人使用
操作系统锁。看看他们在哪里讨论了C锁机制(如果你想的话,你将如何在Swift中使用它们),这个讨论涉及到他们现在关于锁的思想过程

但是你可以像以前一样使用。或者,如果你正在处理一个原子,你可以使用。旧的自旋锁已被弃用,建议使用此
os\u锁
来代替它。所有这些选项都被隐藏在数据库中

不用说,在Objective-C中,您仍然有,
@synchronized
指令也有

旧的方法列举了一些锁的替代方法。

非常确定您可以
\include
和使用
sem\u wait
等。@synchronized()的参数用于标识锁。它可以是任何Objective-C对象;self在这里是一个方便的选择。如果使用@synchronized()的同一参数同步多个不同的代码块,则所有代码块都使用相同的锁锁定。一旦一个线程获得锁并进入其中一个块,就会阻止其他线程进入这些块中的任何一个,直到第一个线程通过退出块放弃锁为止。