第30章 ミューテックスの使用によるリソースの過剰使用の回避

相互排他 ミューテックス) アルゴリズムは、共通リソースの過剰使用を防ぐために使用されます。

30.1. ミューテックスオプション

相互除外 (ミューテックス) アルゴリズムは、プロセスが共通のリソースを同時に使用するのを防ぐために使用されます。高速ユーザー空間ミューテックス (futex) は、ミューテックスが別のスレッドによって保持されていない場合に、カーネル領域にコンテキストスイッチを要求せずにユーザー空間スレッドがミューテックスを要求することを可能にするツールです。

標準属性で pthread_mutex_t オブジェクトを初期化すると、プライベートで再帰的ではなく、堅牢ではない優先度継承対応ではないミューテックスが作成されます。このオブジェクトには、pthreads API および RHEL for Real Time カーネルで提供される利点はありません。

pthreads API および RHEL for Real Time カーネルの利点を活用するには、pthread_mutexattr_t オブジェクトを作成します。このオブジェクトは、futex に定義した属性を保存します。

注記

futex および mutex という用語は、POSIX スレッド (pthread) のミューテックス構造を説明するために使用されます。