27.4. 拡張ミューテックス属性
以下の拡張ミューテックス属性は、ミューテックス属性オブジェクトに格納できます。
ミューテックス属性
- 共有およびプライベートのミューテックス
共有ミューテックスはプロセス間で使用できますが、大きなオーバーヘッドが発生します。
pthread_mutexattr_setpshared(&my_mutex_attr, PTHREAD_PROCESS_SHARED);
- リアルタイム優先度の継承
優先度の継承を使用して、優先度が反転する問題を回避できます。
pthread_mutexattr_setprotocol(&my_mutex_attr, PTHREAD_PRIO_INHERIT);
- 強固なミューテックス
pthread が停止すると、pthread の下の強固なミューテックスが解放されます。ただし、これによりオーバーヘッドコストが高くなります。この文字列の _NP は、このオプションが非 POSIX であるか、移植性がないことを示します。
pthread_mutexattr_setrobust_np(&my_mutex_attr, PTHREAD_MUTEX_ROBUST_NP);
- ミューテックスの初期化
共有ミューテックスはプロセス間で使用できますが、大きなオーバーヘッドが発生します。
pthread_mutex_init(&my_mutex_attr, &my_mutex);