当前位置:  技术问答>linux和unix

关于有自旋锁进程不能被抢占和调度

    来源: 互联网  发布时间:2016-08-17

    本文导语:  RT 请问大家这是为什么啊?我觉得如果被调度也不会引起死锁吧,其他进程没有锁也不会进入临界区啊?难道是怕他被调度以后,需要锁的其他进程空转浪费CPU时间?还请大家给点意见。 | ===============...

RT 请问大家这是为什么啊?我觉得如果被调度也不会引起死锁吧,其他进程没有锁也不会进入临界区啊?难道是怕他被调度以后,需要锁的其他进程空转浪费CPU时间?还请大家给点意见。

|

===================================================================

持有锁的进程是不会被调度的, 这是进程调度机制所决定的。
当然,如果你先加锁了,然后手动的 释放的 cpu, 也是可以的,不过会有很大的隐患。

比如 A 进程持有锁, 然后 schedule() , 锁没有被释放。
然后 B 进程请求锁, 自然是得不到, 并且 B 不会释放 CPU, B 不能被调度, 后果是什么?

|
要可能早地释放拥有的自旋锁
如果被抢占调度
那么其他进程就很有可能在等待这个锁  死锁的条件就很容易形成


    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 自旋锁和读写自旋锁、信号量和读写信号量分别有什么区别?
  • 中断处理函数中使用自旋锁的疑问
  • 自旋锁使用
  • 自旋锁的问题
  • 问个关于自旋锁的问题
  • 内核同步中 自旋锁的用法??
  • spin_lock为什么不自旋?
  • linux中的自旋锁相关的宏的源代码的疑问
  • 在获得自旋锁后为什么不能够进行可能引起休眠的操作?
  • 问一个关于自旋锁的问题?
  • 书上说,中断用自旋锁,进程,用信号量,但是,为什么中断不能用信号量?
  • smp机器上,拥有自旋锁时睡眠的问题
  • 有关sql server中的自旋锁
  • 嵌入式2.6.8对自旋锁分配内存失败
  • 内核自旋锁spin_lock,获取已锁住的锁时Linux死机
  • netfilter中能否使用自旋锁数组啊?
  • Java锁之自旋锁详解


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3