请问mutex是怎么实现的
mutex是无法在用户态实现的,必须依赖于内核态关中断或关抢占的参与才能实现的,那要主动进入内核态,只能是系统调用进入,但并没有看到mutex相关的系统调用。请问mutex是通过什么方式或者说通过什么系统调用实现的? 可能是使用原子操作实现的,对应汇编exchange类似的原子指令吧 mutex是给内核自己用的吧。。。 跟系统调用有什么关系?用户态的同步库,要么完全在用户态实现(没有内核参与),要么使用futex、semop。 本帖最后由 allkillers 于 2016-05-06 20:48 编辑
我先查查资料先,我发现我们的思路不在一个点上,可能有些东西我还没搞清。
回复 1# allkillers
现在的实现中,用户态的多数 lock,包括 pthread 的 lock 等,应该都是通过 futex 来实现的。
android 代码里面是基于futex系统调用实现的。
页:
[1]