文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Linux内核中的锁

Linux内核中的锁

时间:2010-05-21  来源:wsnhyjj

  • 自旋锁(spin lock)
 自旋锁是Linux内核中最常见的锁,执行线程试图获取一个被争用自旋锁将使得自己陷入循环忙等       状态,即CPU处于轮询中,自旋锁非常浪费处理器时间,所以不适合被长时间持有。注意:自旋锁不可       递归。
  • 信号量(semaphore)
 信号量则是一种睡眠锁,执行线程试图获取一个被争用的信号量将使得自己睡眠,此时CPU将切换       到其他任务,睡眠线程将会进入一个等待队列,信号量在被持有者释放后,等待队列中的任务将会被唤       醒并获得该信号量。信号量适合需要长时间等待的任务。
  • 对比
         信号量比自旋锁提供了更好的处理器利用率,自旋锁比信号量拥有更好的系统开销。
需 求   建议加锁方法
  低开销加锁 优先自旋锁 
  短期加锁  优先自旋锁 
长期加锁 优先信号量 
 中断上下文 自旋锁 
 持有锁需要睡眠 信号量 
相关阅读 更多 +
排行榜 更多 +
一剑灭天

一剑灭天

角色扮演 下载
戮仙战纪

戮仙战纪

角色扮演 下载
头号海贼王手机版

头号海贼王手机版

棋牌卡牌 下载