在Objective-C / Swift中是否有除os_unfair_lock之外的其他本机C级锁?

问题描述 投票:1回答:1

我很好奇,开始寻找iOS / macOS平台中所有可用的C级同步工具。但是,根据官方文档(https://developer.apple.com/documentation/os/synchronization?language=objc),os_unfair_lock似乎是那里唯一可用的同步工具。

我错过了什么吗?所有C级信号灯/监视工具在哪里?

ios c macos synchronization
1个回答
0
投票

所有旧的C锁都在那儿,但如今它们正试图将所有人引向os_unfair_lock。参见Concurrent Programming with GCD,他们在其中讨论C锁机制(以及如果需要的话,如何在Swift中使用它们),并且该讨论涉及了他们当今关于锁的思考过程。

但是您可以像以前一样使用pthread_mutex_t。或者,如果您正在处理原子,则可以使用pthread_mutex_t。旧的自旋锁已过时,建议使用此OSAtomicXXX代替。所有这些选项都埋在OSAtomicXXX中。

不用说,在Objective-C中,您仍然还有os_unfair_lockman pages

旧的man列举了一些锁定选择。

© www.soinside.com 2019 - 2024. All rights reserved.