开发者社区 问答 正文

futex解决什么问题?

futex解决什么问题?

展开
收起
Aries- 2022-05-10 09:13:10 613 分享 版权
来自: 阿里技术
1 条回答
写回答
取消 提交回答
  • futex的解决思路是:在无竞争的情况下操作完全在user space进行,不需要系统调用,仅在发生竞争的时候进入内核去完成相应的处理(wait 或者 wake up)。所以说,futex是一种user mode和kernel mode混合的同步机制,需要两种模式合作才能完成,futex变量位于user space,而不是内核对象,futex的代码也分为user mode和kernel mode两部分,无竞争的情况下在user mode,发生竞争时则通过sys_futex系统调用进入kernel mode进行处理。

    2022-05-10 22:45:00
    赞同 展开评论
问答地址: