マルチスレッドのプログラミング

戻り値

正常終了時は 0 です。それ以外の戻り値は、エラーが発生したことを示します。以下のいずれかの条件が検出されると、pthread_join() は失敗し、次の値を返します。


ESRCH

tid は、現在のプロセスの中の有効な切り離されていないスレッドではありません。


EDEADLK

デッドロックが発生しています。たとえば、スレッドが自身を待機していたり、スレッド A とスレッド B が互いに待機し合っていたりします。


EINVAL

tid の値が無効です。

pthread_join() は、切り離されていないスレッドに対してだけ有効であることに注意してください。終了時のタイミングで特に同期をとる必要がないスレッドは、切り離して生成してください。