如果你不知道什么是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线程处理得很清楚。

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