Spinlock(自旋锁)是一种同步机制,它处于忙等待状态(本质上是在“自旋”),直到获取到锁为止。这与其他可能在所需锁不可用时将线程置入睡眠状态的锁机制形成对比。它通常用于线程睡眠(上下文切换)成本高于自旋的场景。但是,必须正确处理自旋锁。管理不当的自旋锁会导致高 CPU 使用率,因为等待是活跃的;它会持续消耗处理能力。因此,在获取锁的等待时间相对较短的场景中,使用自旋锁更为有益。
Spinlock