标签: linux spinlock
在4处理器系统中,三个处理器中的哪一个(所有3个处理器都在旋转以获得自旋锁)将获得第四个处理器发布的自旋锁?
答案 0 :(得分:2)
在一个简单的螺旋锁中它是不确定的。第一个在它被释放后测试自旋锁的处理器将得到它。当进程永远不会获得锁定时,这可能导致饥饿,因为在等待进程首先获得锁定之后请求锁定的进程。出于这个原因,处理器时间的腰部忙于等待大多数操作系统不会影响这样的自旋锁。 Windows具有排队的旋转锁定,而Mac OS X和Solaris使用自适应互斥锁。