Chinaunix首页 | 论坛 | 博客
  • 博客访问: 847236
  • 博文数量: 156
  • 博客积分: 6553
  • 博客等级: 准将
  • 技术积分: 3965
  • 用 户 组: 普通用户
  • 注册时间: 2010-06-22 18:36
文章存档

2012年(3)

2011年(43)

2010年(110)

分类: 嵌入式

2010-10-19 21:06:45

类型

机制

应用场合

spinlock 使用忙等方法,进程不挂起 (1)用于多处理器间共享数据
(2)在可抢占的内核线程里共享数据
(3)自旋锁适合于保持时间非常短的情况,它可以在任何上下文使用,比如中断上下文
信号量 阻塞式等待,进程挂起 (1)适合于共享区保持时间教长的情况
(2)只能用于进程上下文
原子操作 数据的原子访问 (1)共享简单的数据类型:整型,比特性
(2)适合高效率的场合
rwlock 特殊的自旋锁 (1)允许同时读共享资源,但只能有一个写
(2)读优先于写,读写不能同时
顺序锁 一种免锁机制,基于访问计数 (1)允许同时读共享资源,但只能有一个写
(2)写优先于读,读写不能同时
RCU 通过副本的免锁访问 (1)对读占主要的场合提供高性能
(2)读访问不必获取锁,不必执行原子操作或禁止中断
关闭中断 通过禁止中断的手段,排除单处理器上的并发,会导致中断延迟 (1)中断与正常进程共享数据
(2)多个中断共享数据
(3)临界区一般很短
阅读(1126) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~