パスワードを忘れた? アカウント作成
451979 journal

Silphireの日記: pthread日記(33) - Mutex overview

日記 by Silphire

Mutexとは、あるリソースに対して複数のスレッドがリソースの取り合いをして、競合を起こさないようにする為の仕組みです。

まず、複数のスレッド間で参照するリソースに対してそれぞれMutexを用意します。リソースを参照する時は、Mutexをロックしてリソースを使用中である事を他のスレッドに対して明示します。リソースの使用が終わったら、Mutexをアンロックして他のスレッドにリソースを解放します。

Mutexをロックする時に、既にそのMutexが使用中だった場合の動作は、Mutexのタイプによって異なりますが、Mutexの使用権が回ってくるまでブロックするか、あるいはロックに失敗したとみなします。

リソースを長時間占有する場合は、Mutexを使うべきではありません。Mutexを用いたリソースの占有は、出来る限り短時間で済む物に対してのみ行うようにします。長時間リソースを占有したい場合は、Condition Variableを使うべきです。

Mutexの確保・ロック・アンロック・解放は全てプログラマの手に委ねられます。pthreadが何かしてくれるという事はありません。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

クラックを法規制強化で止められると思ってる奴は頭がおかしい -- あるアレゲ人

読み込み中...