3

有没有办法在 iOS 上实现快速自旋锁,当且仅当存在争用时才会恢复阻塞 OS 原语?我正在寻找与这些实现等效的东西:

http://locklessinc.com/articles/keyed_events/(快速互斥) http://locklessinc.com/articles/mutex_cv_futex/

目的是在我们已经确定自旋锁是理想的但我们想要考虑另一个可能较低优先级的线程持有锁的罕见可能性的地方使用它,在这种情况下我们想要阻塞在内核上原始的并且仅在其他线程释放锁时才被唤醒。

4

1 回答 1

3

这个问题终于有了答案: os_unfair_lock 可以满足您的要求。它在无争用时相当于自旋锁,但不会像互斥锁那样在争用时忙等待并提供优先级。

于 2017-04-13T07:32:29.360 回答