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

SDL_SetTLS

現在のスレッドのスレッド局所記憶IDが保持する値を設定する

ヘッダ

SDL3/SDL_thread.h

構文

bool SDL_SetTLS(SDL_TLSID *id, const void *value, SDL_TLSDestructorCallback destructor);

引数

SDL_TLSID *idスレッド局所記憶IDへのポインタ. NULLは不可
const void *value現在のスレッドのスレッド局所記憶IDに保持させる値
SDL_TLSDestructorCallbackdestructorスレッドが終了したとき呼ばれる関数(デストラクタ). ここでvalueを解放する. NULLも可

戻り値

(bool)成功のとき真, 失敗のとき偽を戻す. SDL_GetError()で詳細を知ることができる.

詳細

スレッド局所記憶IDが初期化されていない(値が0)の場合, 新しいIDがスレッドセーフに生成されるため, 同じポインタでの呼び出しは全て同じスレッド局所記憶を参照する.

この関数で以前の呼び出しで設定した値を置き換えた場合, 以前の値のデストラクタは呼ばれないので注意すること.

後処理が必要ない場合, destructorはNULLにしてもよい.

スレッドセーフ

この関数はどのスレッドからも安全に呼べる.

関連項目

SDL Wikiへのリンク

SDL_SetTLS - SDL Wiki