全部博文(156)
分类: 嵌入式
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)临界区一般很短 |