谁能告诉我一个使用基于futex的锁定机制的例子?(适用于多核x86 CPU、CentOS)
发布于 2010-09-24 21:08:52
在Linux的最新版本中,Pthread的互斥是使用futexes实现的。Pthreads是Linux上的标准C线程API,是Posix标准的一部分,因此您可以轻松地将您的程序移植到其他类Unix系统上。除非您有非常特殊的需求,否则您应该避免直接使用futexes,因为它们很难正确使用pthread或更高级的、特定于语言的API (几乎肯定会使用pthread本身)。
发布于 2012-12-10 20:50:18
看看https://github.com/avsm/ipc-bench吧。他们在共享内存管道实现中使用futex。
具体地说,您可以检查this code。
发布于 2013-12-14 03:09:27
工作示例:pthread互斥使用futex锁。
代码示例:这些是在'10年这篇文章发布后的几个月内制作的,但仍然是最新的。
http://meta-meta.blogspot.com/2010/11/linux-threading-primitives-futex.html https://github.com/lcapaldo/futexexamples
用例示例: IPC和进程间同步是为什么应该在用户空间中使用futex的唯一示例。除了极端情况外,pthread互斥锁可以用于多线程,但多进程缺乏高性能的锁定机制和锁定类型。
https://stackoverflow.com/questions/3786947
复制相似问题