当前位置: 技术问答>linux和unix
有关 mutex和内核抢占的问题
来源: 互联网 发布时间:2015-07-02
本文导语: 我在一些资料上看,mutex分为两种,分别是spin mutex和sleep mutex,请问一下他们的区别在哪里,什么时候用哪个?开销是怎么样的呢? 还想问一下,过去的freebsd中,内核里是不可抢占的。现在对于SMP环境,好象可以...
我在一些资料上看,mutex分为两种,分别是spin mutex和sleep mutex,请问一下他们的区别在哪里,什么时候用哪个?开销是怎么样的呢?
还想问一下,过去的freebsd中,内核里是不可抢占的。现在对于SMP环境,好象可以实现抢占式,我想问一下,这是针对线程还是进程?
多谢
还想问一下,过去的freebsd中,内核里是不可抢占的。现在对于SMP环境,好象可以实现抢占式,我想问一下,这是针对线程还是进程?
多谢
|
spin mutex和sleep mutex的区别顾名思义,后者在资源不可用时,进入sleep状态,而前者则进行轮询。
几乎所有的类Unix系统,其进程调度在内核里都是不可抢占的。如果支持内核线程,则针对线程,因为线程是调度单位;否则,针对进程。
几乎所有的类Unix系统,其进程调度在内核里都是不可抢占的。如果支持内核线程,则针对线程,因为线程是调度单位;否则,针对进程。