我可以用glibc-2.2的LinuxThreads互斥基于混合futex的,互斥?
题
如果你不知道什么是futex的Linux线程和-0.9,请不要回复。
我可以在一个程序中基于futex的-互斥混合使用互斥从的linuxthreads-0.8或-0.9(这是在所用的所有的glibc <= 2.2,并在所有uClibc的)?
我需要进程间的互斥(的pshared一个,PTHREAD_PROCESS_SHARED)。
因此,如果线程启动和Linux线程pthread_manager管理,将它基于futex的睡眠和唤醒糊涂?
可以使用基于futex的-互斥既用于进程间和线程间同步?
解决方案
我不明白你为什么不能。
您将无法使用并行线程,很明显。你可能会使用并行线程库与旧的互斥体,你将需要有futex的代码在一些其他的库。
您显然不能锁定的linuxthreads互斥体,并用futex的功能解锁,这永远不会成功。
但是,如果一个线程被阻塞在内核中等待一个futex的,我看不出它是如何不是被阻塞在磁盘I / O操作的任何不同,Linux线程处理得很清楚。
不隶属于 StackOverflow