目次 - API(機能別) - 同期プリミティブ

同期プリミティブ

インクルードファイル: SDL_mutex.h SDL_thread.h

概要

この分類の関数は, マルチスレッドプログラミングのためのスレッド同期プリミティブ(同期基本機構)を提供するものである.

SDLでは3つのプリミティブが使える.

SDLのmutexは再帰的なmutexとして実装されているので, 同じmutexを呼ぶことでロックとアンロックをネストすることができる.

関数

  1. SDL_CondBroadcast - 条件変数を待っている全てのスレッドを再開する
  2. SDL_CondSignal - 条件変数を待つ1つのスレッドを再開する
  3. SDL_CondWait - 条件変数が通知されるまで待つ
  4. SDL_CondWaitTimeout - 条件変数が通知されるか指定の時間が経過するまで待つ
  5. SDL_CreateCond - 新しい条件変数を生成する
  6. SDL_CreateMutex - 新しいmutexを生成する
  7. SDL_CreateSemaphore - 新しいセマフォを生成する
  8. SDL_DestroyCond - 条件変数を破棄する
  9. SDL_DestroyMutex - mutexを破棄する
  10. SDL_DestroySemaphore - セマフォを破棄する
  11. SDL_LockMutex - mutexをロックする
  12. SDL_SemPost - セマフォの値を1加算し, 待機中のスレッドを再開する
  13. SDL_SemTryWait - セマフォの値が正であるか調べ, そうならば減算する
  14. SDL_SemValue - セマフォの現在の値を得る
  15. SDL_SemWait - セマフォの値が正になるまで待機し, セマフォの値を減算する
  16. SDL_SemWaitTimeout - セマフォの値が正になるまで待機し, セマフォの値を減算する
  17. SDL_TryLockMutex - ブロックせずにmutexのロックを試みる
  18. SDL_UnlockMutex - mutexのロックを解除する

マクロ

  1. SDL_MUTEX_MAXWAIT
  2. SDL_MUTEX_TIMEDOUT

SDL Wikiへのリンク

Thread Synchronization Primitives - SDL Wiki