有人可以告诉我一个基于futex的锁定机制的示例? (对于muticore X86 CPU,CentOS)

有帮助吗?

解决方案

Pthreads的静音是使用Futexes在最新版本的Linux上实现的。 pthreads 是Linux上的标准C线程API,并且是POSIX标准的一部分,因此您可以轻松地将程序移植到其他类似Unix的系统中。除非您有非常不寻常的需求,否则您应该避免直接使用futexes,因为它们很难正确使用 - 使用pthreads或更高级别的,特定于语言的API(几乎可以肯定会使用Pthreads本身)。

其他提示

看一下 https://github.com/avsm/ipc-bench. 。他们在共享内存管实现中使用futex。

具体来说,您可以检查 此代码.

工作示例:pthreads mutex使用futex锁。

代码示例:这些是在10篇文章的几个月内制作的,但仍然是最新的。

http://meta-meta.blogspot.com/2010/11/linux-threading-primitives-futex.html https://github.com/lcapaldo/futexexamples

用例示例:IPC和过程间同步是为什么在用户空间中使用futex的唯一示例。除极端情况外,Pthread Mutexes将用于多线程,但是高性能锁定机制以及锁定类型缺乏多进程。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top