pthread_attr_setschedparam(3THR) は、スケジューリングパラメータを設定します。
スケジューリングパラメータは param 構造体で定義します。ただし、サポートされるのは優先順位だけです。新たに生成されるスレッドは、この方針で動作します。
プロトタイプ: int pthread_attr_setschedparam(pthread_attr_t *tattr, const struct sched_param *param); |
#include <pthread.h> pthread_attr_t tattr;int newprio;sched_param param;newprio = 30; /* 優先順位を設定する。それ以外は変更なし */ param.sched_priority = newprio; /* 新しいスケジューリングパラメータを設定する */ ret = pthread_attr_setschedparam (&tattr, ¶m); |
正常終了時は 0 です。それ以外の戻り値は、エラーが発生したことを示します。以下の条件が検出されると、この関数は失敗し、対応する値を返します。
pthread の優先順位は、2 つの方法で管理できます。子スレッドを生成する前に優先順位属性を設定するか、親スレッドの優先順位を変更してまた戻すことができます。