有没有办法在iOS上实现快速自旋锁,当且仅当存在争用时,才会在操作系统原语上恢复为阻塞?我正在寻找与这些实现等效的东西:
http://locklessinc.com/articles/keyed_events/ (快速互斥锁) http://locklessinc.com/articles/mutex_cv_futex/
其目的是在我们已经确定自旋锁是理想的,但我们想要考虑到另一个可能较低优先级的线程持有锁的罕见可能性的地方使用它,在这种情况下,我们希望在内核原语上阻塞,并仅在其他线程释放锁时被唤醒。
发布于 2017-04-13 15:32:29
这个问题终于有了答案: os_unfair_lock做了你想要的。它在无争用时等同于自旋锁,但在争用时不会像互斥锁那样忙碌等待并贡献优先级。
https://stackoverflow.com/questions/29404899
复制相似问题