

#include <nitro/os.h>
void OS_JoinThread( OSThread* thread );
| thread | 結合するスレッドへのポインタ |
なし。
スレッドを結合し、指定のスレッドが終了するまで待ちます。既に指定のスレッドが終了しているときには何もしません。
この関数の中では、呼び出したスレッドは指定のスレッドthread の持つスレッドキューに自らのスレッド(呼び出したスレッド)を登録して OS_SleepThread() でスリープ状態になります。そして、指定のスレッド thread が OS_ExitThread() で終了するときにスレッドキューに登録されたスレッド全てを(それらのスレッドの状態に関わらず)
実行可能状態にしてリスケジューリングします。
複数のスレッドが、一つのスレッドに対し OS_JoinThread() しても構いません。
OS_InitThread, OS_SleepThread, OS_ExitThread
2004/11/10 説明を解りやすく修正
2004/06/25 初版