名前


sched_yield - プロセッサーを空け渡す(yield)

書式


#include <sched.h>

int sched_yield(void);

説明


sched_yield() を呼び出すことによって中断(block)することなしに、 プロセスが自発的にプロセッサー(processor)の使用をやめることができる。 プロセスはその静的プライオリティのキュー(queue)の最後に 移動し、新しいプロセスが走り始める。

注意: もしその時点の最大優先度のリストの中に呼び出したプロセスしか 存在しなければ、そのプロセスは sched_yield() を呼び出した後も走り続けるだろう。

POSIX システムで sched_yield() は <unistd.h> に _POSIX_PRIORITY_SCHEDULING が定義されている場合にのみ使用可能である。

返り値


成功した場合は sched_yield() は 0 を返す。 エラーの場合は -1 が返され、 errno が適切に設定される。

エラー


Linux の実装では、 sched_yield() は常に成功する。

準拠


POSIX.1-2001.

関連項目


Linux のスケージュリング(scheduling)については sched_setscheduler(2) を参照せよ。

Programming for the real world - POSIX.4 by Bill O. Gallmeister, O’Reilly & Associates, Inc., ISBN 1-56592-074-0

openSUSE Logo

コンテンツ