目次 - SDL 3.0 API(機能別) - スレッド
スレッド
概要
SDLは異なる環境にまたがったスレッド管理関数を提供している.
ほとんどがスレッドの開始, 優先度の設定, 終了に関するものである.
さらに, スレッド局所記憶(スレッドごとに異なるが, 単一のキーでアクセスできるデータ)にも対応している.
スレッドに対応していない環境(pthreadsなしでビルドしたEmscriptenのような)でも, これらの関数は存在するが, SDL_CreateThread()のような関数は何もせず失敗を報告する.
スレッドを使うつもりならば, 同期プリミティブも同様によく理解する必要がある.
SDL APIのこの部分はスレッドの管理を行うが, アプリケーションも安全にスレッドを管理するためにロックが必要になる.
その部分は同期プリミティブにある.
関数
- SDL_CleanupTLS - 現在のスレッドのスレッド局所記憶を全て消去する
- SDL_CreateThread - 新しいスレッドをデフォルトのスタックサイズで生成する
- SDL_CreateThreadWithProperties - 新しいスレッドをプロパティを指定して生成する
- SDL_DetachThread - スレッドが終了したとき自分で消滅するようにする
- SDL_GetCurrentThreadID - 現在のスレッドのスレッドIDを得る
- SDL_GetThreadID - 指定のスレッドのスレッドIDを得る
- SDL_GetThreadName - SDL_CreateThread()で指定したスレッドの名前を得る
- SDL_GetThreadState - スレッドの現在の状態を得る
- SDL_GetTLS - 現在のスレッドのスレッド局所記憶IDが保持する値を得る
- SDL_SetCurrentThreadPriority - 現在のスレッドの優先度を設定する
- SDL_SetTLS - 現在のスレッドのスレッド局所記憶IDが保持する値を設定する
- SDL_WaitThread - スレッドが終了するまで待つ
型
- SDL_Thread - SDLスレッドオブジェクトの型
- SDL_ThreadFunction - 新しいスレッドのエントリーポイントとしてSDL_CreateThread()に渡す関数の型
- SDL_ThreadID - ユニークな数値のスレッドIDの型
- SDL_TLSDestructorCallback - データの後処理としてSDL_SetTLSに渡すコールバックの型
- SDL_TLSID - スレッド局所記憶IDの型
列挙体
- SDL_ThreadPriority - スレッドの優先度の列挙体
- SDL_ThreadState - SDLスレッドの状態の列挙体
SDL Wikiへのリンク
SDL3/CategoryThread - SDL Wiki