2015-04-02 99 views
2

有沒有什麼辦法可以在iOS上實現快速自旋鎖,當且僅當存在爭用時纔會恢復爲OS原始塊上的阻塞?我在尋找這些實現等價的東西:iOS futex支持

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

的意圖是在我們已經確定了一個自旋鎖是理想的,但地方我們要帳戶才能使用此因爲另一個潛在的優先級較低的線程很少有可能持有鎖,在這種情況下,我們希望阻塞內核原語,並且只有在其他線程釋放鎖時纔會被喚醒。

回答

0

終於有了這個問題的答案:os_unfair_lock做你所要求的。它相當於無人蔘與時的自旋鎖,但不會像互斥體一樣爭用和捐贈優先級。