2013-02-12 69 views
1

我是一个64位的Linux机器:Linux的futex的64位

的Linux illin793 2.6.32-279.5.2.el6.x86_64#1 SMP星期二8月14日11时36分39秒 美国东部时间2012 x86_64的x86_64的x86_64的GNU/Linux的

从人futex的:

INT futex的(INT * UADDR,诠释运算,INT VAL,常量结构的timespec *超时, INT * uaddr2,INT VAL3 );

所以,这里futex可以使用32位值。

在Linux上是否有与64位值一起工作的futex?

+1

从你推断出它与32位值一起工作的是什么? – 2013-02-12 07:57:49

+0

int * uaddr,int val – Alex 2013-02-12 08:10:08

+0

'futex'(像'clone')是线程库的*实现*的低级系统调用(例如'-lpthread')。否则没有理由使用它;你不能只使用posix线程进行编码吗? http://www.kernel.org/doc/man-pages/online/pages/man7/futex.7.html – 2013-02-12 11:32:15

回答

1

目前在Linux上不支持64位futexes。从2007年起,已有补丁增加支持,但我不知道为什么它们没有被整合。

+0

谢谢。这个事实(缺少64位futexes)是否会在64台机器上引起一些问题? – Alex 2013-02-12 13:16:43

+0

我不这么认为。你有什么想法/问题? – 2013-02-12 15:53:46

+0

谢谢。我们正在考虑用futex来替换软件中的pthread互斥体。你的意见? – Alex 2013-02-12 17:37:19