【自旋锁和互斥锁的区别 自旋锁 互斥锁 信号量】

文章插图
自旋锁和互斥锁的区别是:
自旋锁与互斥锁有点类似,只是自旋锁不会引起调用者睡眠,如果自旋锁已经被别的执行单元保持,调用者就一直循环在那里看是 否该自旋锁的保持者已经释放了锁,“自旋”一词就是因此而得名 。其作用是为了解决某项资源的互斥使用 。因为自旋锁不会引起调用者睡眠,所以自旋锁的效率远高于互斥锁 。虽然它的效率比互斥锁高 。
自旋锁一直占用CPU,他在未获得锁的情况下,一直运行--自旋,所以占用着CPU,如果不能在很短的时 间内获得锁,这无疑会使CPU效率降低 。在用自旋锁时有可能造成死锁,当递归调用时有可能造成死锁,调用有些其他函数也可能造成死锁,因此要慎重使用自旋锁 , 自旋锁只有在内核可抢占式或SMP的情况下才真正需要,在单CPU且不可抢占式的内核下,自旋锁的操作为空操作 。自旋锁适用于锁使用者保持锁时间比较短的情况下 。
- 字处理怎么计算总和 字处理求总和
- 吸油纸和锡纸的区别 吸油纸和锡箔纸的区别
- 苹果手机怎么知道购买时间 苹果手机怎么知道购买时间和价格
- 具有吉祥寓意的蔬菜有哪些 各种蔬菜的寓意和象征
- 2022中考呼和浩特交管支队道路交通管理措施 2021呼和浩特市中考分数段
- 左连接和内连接的区别 左连接和全连接的区别
- 雪的密度 雪的密度和水的密度一样吗
- 蒙蒙细雨牛毛细雨哪个雨量大 蒙蒙细雨和牛毛细雨哪个大
- 高铁和火车有什么区别 高铁和火车有什么区别?
- 中国怎么区分南北方 中国怎么区分南北方和东西方
