Chirpy
Preview Image

non-scalable VS scalable spinlock

自旋锁是一种会让尝试获取它的线程陷入循环 (“自旋”)并不断检查锁是否可用的锁 1。 和mutex 不同,mutex 可以睡眠,将cpu让渡给其他的程序,而自旋锁则是占据着cpu资源忙 等。忙等最主要的优点是,避免了调度所带来的上下文开销, 可以提升等锁进程获得锁的延 迟。另外,如果加锁的临界区很小,自旋锁忙等所带来的开销,可能会小于上下文切换的开 销,自旋锁的收益就会非常大。所以,自旋...