質問

誰かがFutexに基づいてロックメカニズムを使用する例を教えてもらえますか? (Muticore x86 CPUの場合、Centos)

役に立ちましたか?

解決

Pthreadsのミューテックスは、Linuxの最近のバージョンでFutexesを使用して実装されています。 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