OS_DestroyThread

構文

#include <nitro/os.h>
void OS_DestroyThread( OSThread* thread );

引数

thread 終了させるスレッド

返り値

なし。

説明

指定のスレッドを終了します。その後、他の実行可能なスレッドに切り替わります。

OS_DestroyThread() では、OS_SetThreadDestructor() でスレッドデストラクタを予め設定していた場合であっても、デストラクタ関数は呼び出されません。(OS_KillThread*() ではデストラクタ関数が呼び出されます。)

スレッド thread にカレントスレッドを指定することも出来ます。この場合、自分自身を終了して次に実行可能な他のスレッドに切り替わります。この場合も、スレッドデストラクタは呼び出されません。

スレッド thread が mutex をロックしている場合は、それらロックしている全ての mutex をアンロックします。

OS_DestroyThread() は指定のスレッド thread を予告なく突然終了させるという少々危険な関数です。スレッドの動作構造を理解して使用するようにしてください。

参照

OS_InitThread, OS_ExitThread, OS_KillThread*, OS_SetThreadDestructor

履歴

2005/07/12 OS_KillThread*() との違いを記述
2004/12/27 初版