第7章 スレッドの同期

共有リソースへのアクセスが必要なスレッドは、スレッド同期 を使用して調整されます。Linux で使用される 3 つのスレッド同期メカニズムは mutexesbarrierscondvars です。

7.1. ミューテックス

この mutex相互除外 (mutual-exclusion) という用語から派生しています。mutex は POSIX スレッド構成で、pthread_create_mutex ライブラリー呼び出しを使用して作成されます。mutex は、コードの各セクションへのアクセスをシリアライズし、アプリケーションのスレッドが同時にコードを実行するようにします。
mutex と同様に futex があります。これはミューテックスの実装に使用する内部メカニズムである Fast User muTEX です。futexes は、カーネルと C ライブラリーの間で共有規則を使用します。これにより、カーネル領域へのコンテキスト切り替えがないと、競合のない mutex がロックまたは解放されます。