thread_setsched サブルーチン
目的
カーネル・スレッドのスケジューリング・ポリシーと優先順位を変更します。
ライブラリー
標準 C ライブラリー (libc.a)
構文
説明
スレッド・セット サブルーチンは、カーネル・スレッドのスケジューリング・ポリシーと優先順位を変更します。 ユーザー・スレッド (pthread) には独自のスケジューリング属性があり、場合によっては、pthread が複数のカーネル・スレッドの上で実行できるようにします。 したがって、ポリシーまたは優先順位の変更が pthread に代わって認可されている場合、pthread コンテンション有効範囲は Pスレッド・スコープ・システムでなければなりません。
注: スレッド・セット サブルーチンを使用する場合は、不適切な使用によりシステムがハングする可能性があるため、注意する必要があります。 スレッド優先順位の制約事項については、 sys/pri.h を参照してください。
パラメーター
| 項目 | 説明 |
|---|---|
| tid | 優先順位およびポリシーを変更するスレッドのカーネル・スレッド ID を指定します。 |
| 優先 | このカーネル・スレッドに使用する優先順位を指定します。 ポリシーが 予定されていないに設定されている場合、priority パラメーターは無視されます。 優先順位パラメーターには、0 から PRI_LOW (低価格)までの範囲の値を指定する必要があります。 PRI_LOW は、 sys/pri.hで定義されます。 スレッド優先順位について詳しくは、 sys/pri.h を参照してください。 |
| ポリシー | このカーネル・スレッドに使用するポリシーを指定します。 ポリシー・パラメーターには、 sys/sched.hで定義される以下のいずれかの値を指定できます。
|
戻り値
正常終了すると、 スレッド・セット サブルーチンはゼロの値を戻します。 thread_setschedサブルーチンが失敗した場合、-1が返され、エラーを示すerrnoグローバル変数が設定される。
エラー・コード
以下の 1 つ以上が該当する場合、 スレッド・セット サブルーチンは失敗します。
| 項目 | 説明 |
|---|---|
| ESRCH | カーネル・スレッド ID ID が無効です。 |
| EINVAL | ポリシーまたは優先順位が無効です。 |
| EPERM | 呼び出し側には、ポリシーまたは優先順位を変更するための十分な特権がありません。 |