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

スレッド

概要

SDLは異なる環境にまたがったスレッド管理関数を提供している. ほとんどがスレッドの開始, 優先度の設定, 終了に関するものである.

さらに, スレッド局所記憶(スレッドごとに異なるが, 単一のキーでアクセスできるデータ)にも対応している.

スレッドに対応していない環境(pthreadsなしでビルドしたEmscriptenのような)でも, これらの関数は存在するが, SDL_CreateThread()のような関数は何もせず失敗を報告する.

スレッドを使うつもりならば, 同期プリミティブも同様によく理解する必要がある.

SDL APIのこの部分はスレッドの管理を行うが, アプリケーションも安全にスレッドを管理するためにロックが必要になる. その部分は同期プリミティブにある.

関数

  1. SDL_CleanupTLS - 現在のスレッドのスレッド局所記憶を全て消去する
  2. SDL_CreateThread - 新しいスレッドをデフォルトのスタックサイズで生成する
  3. SDL_CreateThreadWithProperties - 新しいスレッドをプロパティを指定して生成する
  4. SDL_DetachThread - スレッドが終了したとき自分で消滅するようにする
  5. SDL_GetCurrentThreadID - 現在のスレッドのスレッドIDを得る
  6. SDL_GetThreadID - 指定のスレッドのスレッドIDを得る
  7. SDL_GetThreadName - SDL_CreateThread()で指定したスレッドの名前を得る
  8. SDL_GetThreadState - スレッドの現在の状態を得る
  9. SDL_GetTLS - 現在のスレッドのスレッド局所記憶IDが保持する値を得る
  10. SDL_SetCurrentThreadPriority - 現在のスレッドの優先度を設定する
  11. SDL_SetTLS - 現在のスレッドのスレッド局所記憶IDが保持する値を設定する
  12. SDL_WaitThread - スレッドが終了するまで待つ

  1. SDL_Thread - SDLスレッドオブジェクトの型
  2. SDL_ThreadFunction - 新しいスレッドのエントリーポイントとしてSDL_CreateThread()に渡す関数の型
  3. SDL_ThreadID - ユニークな数値のスレッドIDの型
  4. SDL_TLSDestructorCallback - データの後処理としてSDL_SetTLSに渡すコールバックの型
  5. SDL_TLSID - スレッド局所記憶IDの型

列挙体

  1. SDL_ThreadPriority - スレッドの優先度の列挙体
  2. SDL_ThreadState - SDLスレッドの状態の列挙体

SDL Wikiへのリンク

SDL3/CategoryThread - SDL Wiki