本文に進む 日本−日本語
日本HPホーム 製品とサービス お客様サポート/ ダウンロード ソリューション ご購入の方法
≫ お問い合わせ
詳細検索オプション
日本HPホーム
HP-UX リファレンス: セクション 3 : ライブラリ (N~Z) > p

pthread_getschedparam(3T)

pthread ライブラリ
HP-UX 11i Version 2: September 2004
≫ 

テクニカル ドキュメント

PDF版
フィードバック
ここから本文が始まります

 ≫ 目次

 ≫ 索引

名称

pthread_getschedparam(), pthread_setschedparam() ― スケジューリング方針と関連パラメータの取得/設定

構文

#include <pthread.h> 
 
int pthread_getschedparam( 
   pthread_t thread, 
   int *policy, 
   struct sched_param *param 
); 
 
int pthread_setschedparam( 
   pthread_t thread, 
   int policy, 
   const struct sched_param *param 
); 

パラメータ

thread  

スケジューリング方針と関連パラメータの設定または取得の対象となるスレッド。

policy  

このパラメータは、 thread のスケジューリング方針が格納されるメモリー位置を指す (get 関数) か、または thread の新しいスケジューリング方針の値を指定す (set 関数)。

param  

このパラメータは、 thread のスケジューリングパラメータが格納されるメモリー位置を指します (get 関数) か、 thread の新しいスケジューリングパラメータを指定します (set 関数)。

説明

これらの関数により、マルチスレッドプロセス内の個々のスレッドにおけるスケジューリング方針とその関連パラメータを取り出して変更することができます。 有効なスケジューリング方針とそれに関連付けられたスケジューリングパラメータの値は、 <sched.h> で定義されています。

pthread_setschedparam() は、 thread のスケジューリング方針と関連スケジューリングパラメータを、それぞれ policy および param で指定された方針とパラメータに変更します。 HP-UX でスレッドのスケジューリングパラメータを変更するときには、適切な特権が必要です。 pthread_setschedparam() を正常に呼び出すためには、呼び出したプロセスが適切な特権を持っているか、 PRIV_RTSCHED アクセス権のあるグループのメンバーであることが必要です。

pthread_getschedparam() 関数は、 thread のスケジューリング方針と関連パラメータを取り出して、それぞれ policyparam に格納します。 返される値は、実際のスケジューリング内容を表しています。優先順位の継承や最高優先順位属性で影響を受ける可能性のある一時的な値ではありません。

戻り値

正常終了すると、 pthread_setschedparam()thread_getschedparam() は 0 を返します。 それ以外の場合、エラーの内容を表すエラー番号を返します (errno 変数は使用しません)。

エラー

次の場合、 pthread_getschedparam()pthread_setschedparam() 関数は、対応するエラー番号を返します。

[ENOSYS] 

_POSIX_THREAD_PRIORITY_SCHEDULING が未定義で、これらの関数がサポートされていない場合。

次の条件が成立する場合、 pthread_setschedparam() 関数は、対応するエラー番号を返します。

[EINVAL] 

policy または param 中のあるスケジューリングパラメータが無効である場合。

[ENOTSUP]  

policy またはスケジューリングパラメータに、サポートされていない値が指定されている場合。

[EPERM] 

呼び出し元に、 policy で指定されたスケジューリング方針または param で指定されたスケジューリングパラメータを、 thread に設定するためのパーミッションがない場合。

[ESRCH] 

thread に対応するスレッドが見つからない場合。

次の条件が成立する場合、 pthread_getschedparam() 関数は、対応するエラー番号を返します。

[ESRCH] 

thread に対応するスレッドが見つからない場合。

[EINVAL] 

policy または param で指定された値が無効である場合。

注意

スケジューリング方針が SCHED_FIFO または SCHED_RR の場合、スケジューリングパラメータには、 sched_param 構造体の sched_priority メンバーだけに値が指定されていれば十分です。 他のすべてのスケジューリング方針は、実装方式ごとに定義されます。 使用している実装方式で定義されるスケジューリング方針の詳細については、 rtsched(2) と <sched.h> のマニュアルを参照してください。

著者

pthread_getschedparam()pthread_setschedparam() は、IEEE POSIX P1003.1c 規格から派生しました。

参照

pthread_attr_setschedparam(3T), pthread_attr_setschedpolicy(3T), pthread_attr_getschedparam(3T), pthread_attr_getschedpolicy(3T), rtsched(2)

標準準拠

pthread_getschedparam(): POSIX 1003.1c.
pthread_setschedparam(): POSIX 1003.1c.

印刷用画面へ
プライバシー 本サイト利用時の合意事項
© 1983-2004 Hewlett-Packard Development Company, L.P.