天气预报15天查询> 其他> 自旋锁和互斥锁的区别

自旋锁和互斥锁的区别

更新时间: 2020-10-31 00:00:00     

自旋锁和互斥锁的区别是:

自旋锁与互斥锁有点类似,只是自旋锁不会引起调用者睡眠,如果自旋锁已经被别的执行单元保持,调用者就一直循环在那里看是否该自旋锁的保持者已经释放了锁,“自旋”一词就是因此而得名。其作用是为了解决某项资源的互斥使用。因为自旋锁不会引起调用者睡眠,所以自旋锁的效率远高于互斥锁。虽然它的效率比互斥锁高。

自旋锁一直占用CPU,他在未获得锁的情况下,一直运行--自旋,所以占用着CPU,如果不能在很短的时间内获得锁,这无疑会使CPU效率降低。在用自旋锁时有可能造成死锁,当递归调用时有可能造成死锁,调用有些其他函数也可能造成死锁,因此要慎重使用自旋锁,自旋锁只有在内核可抢占式或SMP的情况下才真正需要,在单CPU且不可抢占式的内核下,自旋锁的操作为空操作。自旋锁适用于锁使用者保持锁时间比较短的情况下。

关键词: 互斥 区别

如有意见、反馈、侵权或投诉等情况,请联系:

电话:
邮箱:

我们将会在48小时内给与处理!

版权所有 Copyright ? 2009-2020 tianqiyubao3.com

页面:/news/view-162160/ | 耗时:0.1749 s | 内存:1.89 MB | 查询:4 | 缓存读取:4 写入:0 | 加载文件:23
select * from tbl_Articles WHERE ArticleID=162160 LIMIT 0,1
select * from tbl_Articles_data WHERE ArticleID=162160 LIMIT 0,1
select * from tbl_Articles_sphinx where id=162160 LIMIT 0,1
SELECT ArticleID,Title FROM tbl_Articles WHERE ArticleID IN(1115295,1063181,1122096,1027455,1108237,1088844,1113417,1091177,1131885,1092387,1077490,1096068,1109669,1058867,1120645,1079431,1087879,1065495,1079051,1108496,1066194,1085576,1117450,1093865,1103012,1084978,1129073,336525,1060755,1083263) ORDER BY field (ArticleID,1115295,1063181,1122096,1027455,1108237,1088844,1113417,1091177,1131885,1092387,1077490,1096068,1109669,1058867,1120645,1079431,1087879,1065495,1079051,1108496,1066194,1085576,1117450,1093865,1103012,1084978,1129073,336525,1060755,1083263)