自旋锁与信号量

   在中断上下文中只能用自旋锁,而在任务睡眠的时候只能用信号量。

   自旋锁与信号量的比较

 

需求建议的加锁方法
低开销加锁优先使用自旋锁
短期锁定优先使用自旋锁
长期加锁优先使用信号量
中断上下文中加锁使用自旋锁
持有锁需要睡眠使用信号量

 

CSDN网友lioqio的回答:

用处:
自旋锁用于多处理器之间的同步,
信号量用于多线程之间的同步。

实现:
在多处理器平台下,信号量的实现会用到自旋锁
自旋锁一般通过特殊的机器指令来实现

使用:
自旋锁保护范围内不能作调度(当然不能进入睡眠),
不能存取可分页内存,当中断处理程序也有同样的自
旋锁时,必须在进入时关闭相关中断。

信号量没有太多的限制。但是在实时响应上无法预测的。

spinlock与linux内核调度的关系

http://www.embedu.org/Column/Column25.htm

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值