自旋锁很好理解,就是不断地轮询,那么互斥锁是通过什么样的机制呢?这样的机制有什么弊端导致在一些场合用自旋锁更好呢?
2 回答

守着星空守着你
TA贡献1799条经验 获得超8个赞
并不是线程“知道”,而是等待时会进入阻塞状态,拥有锁的线程在释放锁时需要通知等待线程,这样等待线程才能被唤醒。至于自旋锁,其优点是无需进入阻塞状态,因此节省了阻塞和唤醒的切换开销。但缺点是会一直占用CPU,如果长时间无法获取到锁,反而会增加开销,降低性能。
添加回答
举报
0/150
提交
取消