2015-04-02 109 views
2

有没有什么办法可以在iOS上实现快速自旋锁,当且仅当存在争用时才会恢复为OS原始块上的阻塞?我在寻找这些实现等价的东西:iOS futex支持

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

的意图是在我们已经确定了一个自旋锁是理想的,但地方我们要帐户才能使用此因为另一个潜在的优先级较低的线程很少有可能持有锁,在这种情况下,我们希望阻塞内核原语,并且只有在其他线程释放锁时才会被唤醒。

回答

0

终于有了这个问题的答案:os_unfair_lock做你所要求的。它相当于无人参与时的自旋锁,但不会像互斥体一样争用和捐赠优先级。