信号量和自旋锁的区别?如何选择使用?


Posted in 面试题 onSeptember 08, 2015
如果代码需要睡眠(往往发生在和用户空间同步时),使用信号量是唯一的选择。由于信号量不受睡眠的限制,所以通常来说更加简单一些。
当需要在自旋锁和信号量中作选择时,选择结果应该取决于锁被持有的时间长短。理想的情况是所有的锁都应该尽可能短的占有,但如果锁的持有时间比较长,使用信号量是更好的选择。
信号量不会关闭内核抢占,所以持有自旋锁的代码可以被抢占。所以信号量不会对影响调度反应时间带来负面影响。

Tags in this post...

面试题 相关文章推荐
康拓普公司Java笔面试
Sep 23 面试题
Collection和Collections的区别
May 02 面试题
求高于平均分的学生学号及成绩
Sep 01 面试题
New delete 与malloc free 的联系与区别
Feb 04 面试题
存储过程和函数的区别
May 28 面试题
介绍一下HTTP、HTTPS和SSL
Dec 16 面试题
Internet主要有哪些网络群组成
Dec 24 面试题
什么是ARP(Address Resolution Protocol)地址解析协议
Oct 31 面试题
世界经理人咨询有限公司面试
Sep 23 面试题
酷瑞网络科技面试题
Mar 30 面试题
你经历的项目中的SCM配置项主要有哪些?什么是配置项?
Nov 04 面试题
sleep()方法和wait()方法的区别是什么
Nov 17 面试题
UNIX文件类型
Aug 29 #面试题
Unix/Linux开发面试题
Aug 16 #面试题
UNIX文件系统分类
Nov 11 #面试题
三个Unix的命令面试题
Apr 12 #面试题
介绍一些UNIX常用简单命令
Nov 11 #面试题
shell的种类有哪些
Apr 15 #面试题
解释i节点在文件系统中的作用
Nov 26 #面试题
You might like
咖啡的植物学知识
2021/03/03 咖啡文化
PHP高级OOP技术演示
2009/08/27 PHP
php中通过Ajax如何实现异步文件上传的代码实例
2011/05/07 PHP
PHP设计模式之迭代器模式
2016/06/17 PHP
PHP生成短网址的思路以及实现方法的详解
2019/03/25 PHP
javascript下利用arguments实现string.format函数
2010/08/24 Javascript
仅img元素创建后不添加到文档中会执行onload事件的解决方法
2011/07/31 Javascript
jquery中.add()的使用分析
2013/04/26 Javascript
JS写的贪吃蛇游戏(个人练习)
2013/07/08 Javascript
JS判断两个时间大小的示例代码
2014/01/28 Javascript
JavaScript格式化日期时间的方法和自定义格式化函数示例
2014/04/04 Javascript
SeaJS 与 RequireJS 的差异对比
2014/12/08 Javascript
JavaScript中的对象与JSON
2015/07/03 Javascript
javascript bom是什么及bom和dom的区别
2015/11/26 Javascript
javascript日期验证之输入日期大于等于当前日期
2015/12/13 Javascript
javascript基础知识之html5轮播图实例讲解(44)
2017/02/17 Javascript
Angular2关于@angular/cli默认端口号配置的问题
2017/07/15 Javascript
javascript数组去重方法总结(推荐)
2019/03/20 Javascript
jQuery实现朋友圈查看图片
2020/09/11 jQuery
Vue用mixin合并重复代码的实现
2020/11/27 Vue.js
Vue3+elementui plus创建项目的方法
2020/12/01 Vue.js
[01:45]2014DOTA2 TI预选赛预选赛 战前探营!
2014/05/21 DOTA
python模块之StringIO使用示例
2015/04/08 Python
python中使用序列的方法
2015/08/03 Python
对Python捕获控制台输出流的方法详解
2019/01/07 Python
对Pyhon实现静态变量全局变量的方法详解
2019/01/11 Python
python的pygal模块绘制反正切函数图像方法
2019/07/16 Python
浅谈Python_Openpyxl使用(最全总结)
2019/09/05 Python
Django项目uwsgi+Nginx保姆级部署教程实现
2020/04/19 Python
Linux机考试题
2015/10/16 面试题
Ajax主要包含了哪些技术
2014/06/12 面试题
开工仪式策划方案
2014/05/23 职场文书
2015应届毕业生求职信范文
2015/03/20 职场文书
通知函格式范文
2015/04/27 职场文书
社区志愿者服务心得体会
2016/01/22 职场文书
jdbc使用PreparedStatement批量插入数据的方法
2021/04/27 MySQL