目次 - SDL 3.0 API(機能別) - 初期化と終了 - SDL_RunOnMainThread

SDL_RunOnMainThread

メインスレッドで関数を実行する

ヘッダ

SDL3/SDL_init.h

構文

bool SDL_RunOnMainThread(SDL_MainThreadCallback callback, void *userdata, bool wait_complete);

引数

SDL_MainThreadCallbackcallbackメインスレッドで呼ぶコールバック
void *userdataコールバックに渡すポインタ
boolwait_complete真のときコールバックが完了するまで待つ. 偽のとき即座に戻る

戻り値

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

詳細

この関数をメインスレッドで呼ぶと, コールバックは即座に実行される. メインスレッド以外で呼ぶと, コールバックは実行のためのキューに入り, イベント処理の間で実行される.

この関数を使用する場合, デッドロックに注意すること. この関数をwait_completeを真にして呼ぶ場合, メインスレッドで現在のスレッドを待たせてはならない.

スレッドセーフ

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

バージョン

SDL 3.2.0以降

関連項目

SDL Wikiへのリンク

SDL_RunOnMainThread - SDL Wiki