.\" Copyright (C) 1996-1999 Free Software Foundation, Inc. .\" .\" Permission is granted to make and distribute verbatim copies of .\" this manual provided the copyright notice and this permission notice are .\" preserved on all copies. .\" .\" Permission is granted to copy and distribute modified versions of .\" this manual under the conditions for verbatim copying, provided that .\" the entire resulting derived work is distributed under the terms of a .\" permission notice identical to this one. .\" .\" Permission is granted to copy and distribute translations of this .\" manual into another language, under the above conditions for modified .\" versions, except that this permission notice may be stated in a .\" translation approved by the Foundation. .\" .\" Copyright (C) 1996 Xavier Leroy. .\" .\" Japanese Version Copyright (C) 2003 Suzuki Takashi .\" all rights reserved. .\" Translated Sun Jan 5 14:05:30 JST 2003 .\" by Suzuki Takashi. .\" .\"WORD: scheduling parameter スケジューリングパラメータ .\"WORD: scheduling policy スケジューリングポリシー .\"WORD: non-realtime リアルタイムでない .\"WORD: realtime リアルタイム .\"WORD: round-robin ラウンドロビン方式 .\"WORD: first-in first-out 先入れ先出し(FIFO)方式 .\" .\" .TH PTHREAD_SETSCHEDPARAM 3 LinuxThreads .SH "名前" pthread_setschedparam, pthread_getschedparam \- スレッドのスケージューリングパラメータを制御する .SH "書式" .B #include .BI "int pthread_setschedparam(pthread_t " target_thread ", int " policy ", const struct sched_param *" param ");" .BI "int pthread_getschedparam(pthread_t " target_thread ", int *" policy ", struct sched_param *" param ");" .SH "説明" .B "pthread_setschedparam" はスレッド .I "target_thread" のスケジューリングパラメータを .I "policy" と .I "param" で示される値に変更する。 .I "policy" は .B "SCHED_OTHER" ( 通常の、リアルタイムでないスケジューリング ) 、 .B "SCHED_RR" ( ラウンドロビン方式のリアルタイムスケジューリング ) 、 .B "SCHED_FIFO" ( 先入れ先出し (FIFO) 方式のリアルタイムスケジューリング ) のいずれかの値をとる。 .I "param" は 2 つのリアルタイムポリシーに対する スケジューリング優先度を表す。 スケジューリングポリシーに関するさらなる情報は .BR "sched_setpolicy" (2) を参照のこと。 リアルタイムスケジューリングポリシーである .B "SCHED_RR" と .B "SCHED_FIFO" は、スーパーユーザ権限をもったプロセスに限って使用できる。 .B "pthread_getschedparam" はスレッド .I "target_thread" のスケジューリングポリシーと スケジューリングパラメータを取得し、 それぞれ .I "policy" と .I "param" で指し示される領域に格納する。 .SH "返り値" .B "pthread_setschedparam" および .B "pthread_getschedparam" は成功すると 0 を返し、エラーならば非 0 のエラーコードを返す。 .SH "エラー" エラーの場合、 .B "pthread_setschedparam" は次のようなエラーコードを返す: .RS .TP .B "EINVAL" .I "policy" が .BR "SCHED_OTHER" 、 .BR "SCHED_RR" 、 .B "SCHED_FIFO" のいずれでもない。 .TP .B "EINVAL" 指定されたポリシーでは .I "param" で指定された優先度パラメータは有効ではない。 .TP .B "EPERM" 呼び出しプロセスはスーパユーザ権限を持っていない。 .TP .B "ESRCH" スレッド .I "target_thread" は無効またはすでに終了している。 .TP .B "EFAULT" .I "param" が指し示す領域はプロセスのメモリ空間外の領域である。 .RE エラーの場合、 .B "pthread_getschedparam" は次のようなエラーコードを返す: .RS .TP .B "ESRCH" スレッド .I "target_thread" は無効またはすでに終了している。 .TP .B "EFAULT" .I "policy" または .I "param" が指し示す領域はプロセスのメモリ空間外の領域である。 .RE .SH "著者" Xavier Leroy .SH "関連項目" .BR "sched_setscheduler" (2), .BR "sched_getscheduler" (2), .BR "sched_getparam" (2), .BR "pthread_attr_setschedpolicy" (3), .BR "pthread_attr_setschedparam" (3).