我一直在阅读有关MCS锁的信息,我觉得这很酷。现在,我知道它是如何实现的,下一个问题是何时使用它。以下是我的想法。请随时将项目添加到列表中>>
1)理想情况下,当我们要同步两个以上线程时,应使用2)MCS锁减少了必须失效的高速缓存行的数量。最坏的情况是2个CPU的高速缓存行无效。还有什么我想念的吗?
MCS还可以用来实现互斥锁而不是自旋锁吗?
我一直在阅读有关MCS锁的信息,我觉得这很酷。现在,我知道它是如何实现的,下一个问题是何时使用它。以下是我的想法。请随时将项目添加到...
当存在较高的锁争用时,即,许多线程尝试同时获取锁,则代码将受益于使用MCS锁。使用简单的自旋锁时,所有线程都轮询单个共享变量,而MCS形成一个等待线程队列,因此每个线程都在队列中的其前身
我认为@ CodeMoneky1的其他答案并没有真正解释“ MCS还能用来实现互斥锁而不是自旋锁吗?”