目次 - API(機能別) - スレッド - SDL_WaitThread

SDL_WaitThread

スレッドが終了するまで待つ

構文

void SDL_WaitThread(SDL_Thread* thread, int* status)

引数

threadSDL_CreateThread()で開始されたスレッドのSDL_Threadポインタ
statusスレッド関数がreturnで戻した値を代入する整数の変数へのポインタ

詳細

スレッドの終了を待つ. デタッチされていないスレッドは, この関数で消滅するまで(「ゾンビ」のように)残る. これを行わないとリソースリークを引き起こす.

この関数でスレッドが消滅すると, そのSDL_Threadは使えなくなるので再び参照してはならない. 1つのスレッドの終了をSDL_WaitThread()で待つのは, 別の1つのスレッドのみにしたほうがよい.

スレッド関数の戻り値は, statusがNULLでなければ, statusの領域に書き込まれる.

デタッチされたスレッドに対してSDL_WaitThread()を呼んではならない. SDL_WaitThread()SDL_DetachThread()のどちらかであり, 両方を使ってはならない. さもなくば, その動作は未定義のものになる.

引数をNULLとしても安全である. その場合は無視される.

threadポインタはこの関数で解放されるため, その後は使えないので注意すること.

関連項目(関数)

SDL_CreateThread
SDL_DetachThread

SDL Wikiへのリンク

SDL_WaitThread - SDL Wiki