PTHREAD_YIELD(3)

名前
pthread_yield - プロセッサを明け渡す (yield)

書式
#define _GNU_SOURCE             /* See feature_test_macros(7) */
#include <pthread.h>
int pthread_yield(void);

-pthread を付けてコンパイルとリンクを行う。

説明
pthread_yield() を呼び出すと、呼び出したスレッドは CPU を手放す。 スレッドはそのスレッドの静的優先度の実行キューの末尾に回り、 別のスレッドが実行されるようにスケジューリングされる。 詳細は sched_yield(2) を参照。

返り値
成功すると、 pthread_yield() は 0 を返す。 エラーの場合、エラー番号を返す。

エラー
Linux では、この関数の呼び出しは常に成功する (ただし、移植性や将来も動作することを保証したいアプリケーションでは 正のエラーの返り値を処理するようにすべきである)。

属性

  マルチスレッディング (pthreads(7) 参照)
pthread_yield() 関数はスレッドセーフである。

準拠
この関数は非標準だが、他のいくつかのシステムにも存在する。 代わりに、標準化されている sched_yield(2) を使うこと。

注意
Linux では、この関数は sched_yield(2) を呼び出す形で実装されている。

関連項目
sched_yield(2), pthreads(7), sched(7)

この文書について
この man ページは Linux man-pages プロジェクトのリリース 3.79 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。