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

SDL_WaitThread

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

ヘッダ

SDL3/SDL_thread.h

構文

void SDL_WaitThread(SDL_Thread *thread, int *status);

引数

SDL_Thread *threadSDL_CreateThread()で開始されたスレッドのSDL_Threadポインタ
int *statusスレッド関数がreturnで戻した値の代入先へのポインタ. スレッドが自身で消滅した(デタッチdetach)した, または有効でないとき-1が代入される. NULLも可

詳細

デタッチされていないスレッドは, この関数で後処理するまで残る. これを行わないとリソースリークを引き起こす.

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

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

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

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

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

バージョン

SDL 3.2.0以降

関連項目

SDL Wikiへのリンク

SDL_WaitThread - SDL Wiki