マルチスレッドのプログラミング

pthread_mutexattr_setprotocol の構文

#include <pthread.h> 
int pthread_mutexattr_setprotocol(pthread_mutexattr_t *attr, 
          int protocol);

attr は、先の pthread_mutexattr_init() の呼び出しによって作成された mutex 属性オブジェクトを指します。

protocol には、mutex 属性オブジェクトに適用されるプロトコルを指定します。

pthread.h に定義されている protocol の値は、次の値のうちのいずれか 1 つです。 PTHREAD_PRIO_NONEPTHREAD_PRIO_INHERIT、または PTHREAD_PRIO_PROTECT です。

PTHREAD_PRIO_INHERIT および PTHREAD_PRIO_PROTECT mutex 属性を使用できるのは、リアルタイム (RT) スケジューリングクラス SCHED_FIFO または SCHED_RR で実行されている特権付きプロセスだけです。

スレッドは、 PTHREAD_PRIO_INHERIT で初期化された mutex と PTHREAD_PRIO_PROTECT で初期化された mutex を複数同時に所有できます。この場合、スレッドは、これらのプロトコルのいずれかで獲得された最高の優先順位で実行します。