文章插图
自旋锁和互斥锁的区别是:
自旋锁与互斥锁有点类似 , 只是自旋锁不会引起调用者睡眠 , 如果自旋锁已经被别的执行单元保持 , 调用者就一直循环在那里看是 否该自旋锁的保持者已经释放了锁 , “自旋”一词就是因此而得名 。其作用是为了解决某项资源的互斥使用 。因为自旋锁不会引起调用者睡眠 , 所以自旋锁的效率远高于互斥锁 。虽然它的效率比互斥锁高 。
自旋锁一直占用CPU , 他在未获得锁的情况下 , 一直运行--自旋 , 所以占用着CPU , 如果不能在很短的时 间内获得锁 , 这无疑会使CPU效率降低 。在用自旋锁时有可能造成死锁 , 当递归调用时有可能造成死锁 , 调用有些其他函数也可能造成死锁 , 因此要慎重使用自旋锁 , 自旋锁只有在内核可抢占式或SMP的情况下才真正需要 , 在单CPU且不可抢占式的内核下 , 自旋锁的操作为空操作 。自旋锁适用于锁使用者保持锁时间比较短的情况下 。
【自旋锁和互斥锁的区别 服务器应用 自旋锁和互斥锁的区别】
- 喝咖啡的好处和坏处 早上喝咖啡的好处和坏处
- 鸭血和猪血的区别 鸭血和猪血有什么区别
- 单机身和套机 套机和单机有什么区别
- 至和致的区别和含义 至和致的区别
- 理想空想和幻想的区别 空想和幻想的区别
- 紫米有限公司和小米 紫米公司和小米的关系
- 成考和自考的区别 自考和成考的含金量哪个更高
- 樱花种类与特征樱花种类和特征有哪些
- 冷鲜肉和新鲜肉有什么区别 冷鲜肉和新鲜肉有什么区别 闺蜜集
- 蜂王浆和蜂蜜的区别 蜂王浆和蜂蜜的区别是什么