Chinaunix首页 | 论坛 | 博客
  • 博客访问: 335180
  • 博文数量: 106
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 861
  • 用 户 组: 普通用户
  • 注册时间: 2013-09-10 08:32
文章分类

全部博文(106)

文章存档

2016年(11)

2015年(93)

2013年(2)

分类: LINUX

2015-12-03 14:16:21

        在单处理器中,自旋锁定义为空操作,因为不存在几个CPU同时进入临界区的情况,但是如果启用了内核抢占,这种说法就不适用了。因为,如果内核在临界区中被中断,而此时另一个进程进入临界区,这与smp系统上两个处理器同时在临界区进行的情况是等效的。通过一个简单的集群可以防止这种情况发生:内核进入到有自旋锁保护的临界区的时候,就停用内核抢占。在启用了内核抢占的单处理器内核中,spin_lock等价于preemt_disable;而spin_unlock则等价于preempt_enable。
阅读(1224) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~