2013-02-12 86 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