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

pthread_attr_setschedpolicy(3THR)

pthread_attr_setschedpolicy(3THR) は、スケジューリング方針を設定します。POSIX 規格の草稿ではスケジューリング方針の属性として、SCHED_FIFO (先入れ先出し)、SCHED_RR (ラウンドロビン)、SCHED_OTHER (実装で定義) を規定しています。

SCHED_FIFOSCHED_RR は POSIX では任意とされており、リアルタイム結合スレッドについてのみサポートされています

現在 pthread では、タイムシェアリングを示す Solaris の SCHED_OTHER のデフォルト値のみがサポートされています。スケジューリングの説明については、「スケジューリング」の節を参照してください。


プロトタイプ:

int	pthread_attr_setschedpolicy(pthread_attr_t *tattr, int policy);

#include <pthread.h>

pthread_attr_t tattr;
int policy;
int ret;

/* スケジューリング方針を SCHED_OTHER に設定する */
ret = pthread_attr_setschedpolicy(&tattr, SCHED_OTHER);

戻り値

正常終了時は 0 です。それ以外の戻り値はエラーが発生したことを示します。以下のいずれかの条件が検出されると、この関数は失敗し、対応する値を返します。


EINVAL

tattr の値は無効です。


ENOTSUP

属性をサポートされていない値に設定しようとしました。