一般来说,“自旋锁”这个术语指的是一种同步原语,不需要进程上下文切换或任何其他内核活动。通常,它是作为对一个变量的汇编循环来实现的。在某些情况下,出于性能原因使用这种轻量级原语是有意义的,因为不涉及内核调用。但有时最好避免使用自旋锁,因为紧密的汇编循环不允许 CPU 进入睡眠状态,例如,这对电池不利。