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


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

Tags in this post...

面试题 相关文章推荐
说出一些常用的类,包,接口
Sep 22 面试题
JSF面试题:Jsf中导航的标签是什么
Apr 20 面试题
C语言编程练习
Apr 02 面试题
华为C++笔试题
Aug 05 面试题
世界经理人咨询有限公司面试
Sep 23 面试题
北京某科技有限公司C# .net笔试题
Sep 27 面试题
Linux上比较文件的命令都有哪些
Sep 28 面试题
EJB实例的生命周期
Oct 28 面试题
Java编程面试题
Apr 04 面试题
this关键字的作用
Jan 30 面试题
Unix里面如何在后台运行程序
Oct 14 面试题
Promise面试题详解之控制并发
May 14 面试题
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
关于PHP结束标签的使用细节探讨及联想
2013/03/04 PHP
php生成excel列名超过26列大于Z时的解决方法
2014/12/29 PHP
基于PHP的微信公众号的开发流程详解
2020/08/07 PHP
PHP数组实际占用内存大小原理解析
2020/12/11 PHP
javascript instanceof 与typeof使用说明
2010/01/11 Javascript
javascript一元操作符(递增、递减)使用示例
2013/08/07 Javascript
JavaScript自定义事件介绍
2013/08/29 Javascript
登陆成功后自动计算秒数执行跳转
2014/01/23 Javascript
浅谈JavaScript数据类型
2015/03/03 Javascript
javascript实现获取指定精度的上传文件的大小简单实例
2016/10/25 Javascript
jQuery响应滚动条事件功能示例
2017/10/14 jQuery
Vue精简版风格概述
2018/01/30 Javascript
详解Webpack-dev-server的proxy用法
2018/09/08 Javascript
vue+element-ui表格封装tag标签使用插槽
2020/06/18 Javascript
Python3实现简单可学习的手写体识别(实例讲解)
2017/10/21 Python
pandas删除指定行详解
2019/04/04 Python
基于python的socket实现单机五子棋到双人对战
2020/03/24 Python
PyQt5实现让QScrollArea支持鼠标拖动的操作方法
2019/06/19 Python
postman和python mock测试过程图解
2020/02/22 Python
html5视频媒体标签video的使用方法及完整参数说明详解
2019/09/27 HTML / CSS
乌克兰第一的珠宝网上商店:Gold.ua
2019/11/29 全球购物
圣诞树世界:Christmas Tree World
2019/12/10 全球购物
静态成员和非静态成员的区别
2012/05/12 面试题
水利学院求职自荐书
2014/02/01 职场文书
信用卡工资证明格式
2014/09/13 职场文书
实习协议书范本
2014/09/25 职场文书
社区领导班子四风问题原因分析及整改措施
2014/09/28 职场文书
党员剖析材料范文
2014/09/30 职场文书
办理收楼委托书范本
2014/10/09 职场文书
企业党的群众路线教育实践活动学习心得体会
2014/10/31 职场文书
2014年学校党建工作总结
2014/11/11 职场文书
CSS3实现模糊背景的三种效果示例
2021/03/30 HTML / CSS
Python中文纠错的简单实现
2021/07/07 Python
在项目中使用redis做缓存的一些思路
2021/09/14 Redis
使用refresh_token实现无感刷新页面
2022/04/26 Javascript
python的html标准库
2022/04/29 Python