# OS_JoinThread

## 構文

      #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 初版