目次 - SDL 3.0 API(機能別) - 同期プリミティブ
同期プリミティブ
概要
SDLはいくつかのスレッド同期プリミティブ(同期基本機構)を提供している.
次の項目は安全なスレッドの使い方に関する複雑な問題を網羅するものではないが, 少し読めば, その機構が何であるか, なぜそれが有用か, そして正しく使うことがが正しく安全なマルチスレッドプログラミングにとって不可欠であることがわかるだろう.
- ミューテックス(相互排他): SDL_CreateMutex()
- 読み込み/書き込みロック: SDL_CreateRWLock()
- セマフォ: SDL_CreateSemaphore()
- 条件変数: SDL_CreateCondition()
SDLはデータ型も提供している. SDL_InitState型は, 複数のスレッドが同時に最初にしようとするリソースの初期化/終了処理をただ1つのスレッドが行うことを保証するために使える.
関数
- SDL_BroadcastCondition
- SDL_CreateCondition
- SDL_CreateMutex
- SDL_CreateRWLock
- SDL_CreateSemaphore
- SDL_DestroyCondition
- SDL_DestroyMutex
- SDL_DestroyRWLock
- SDL_DestroySemaphore
- SDL_GetSemaphoreValue
- SDL_LockMutex
- SDL_LockRWLockForReading
- SDL_LockRWLockForWriting
- SDL_SetInitialized
- SDL_ShouldInit
- SDL_ShouldQuit
- SDL_SignalCondition
- SDL_SignalSemaphore
- SDL_TryLockMutex
- SDL_TryLockRWLockForReading
- SDL_TryLockRWLockForWriting
- SDL_TryWaitSemaphore
- SDL_UnlockMutex
- SDL_UnlockRWLock
- SDL_WaitCondition
- SDL_WaitConditionTimeout
- SDL_WaitSemaphore
- SDL_WaitSemaphoreTimeout
型
- SDL_Condition
- SDL_Mutex
- SDL_RWLock
- SDL_Semaphore
構造体
- SDL_InitState
列挙体
- SDL_InitStatus
マクロ
- SDL_ACQUIRE
- SDL_ACQUIRE_SHARED
- SDL_ACQUIRED_AFTER
- SDL_ACQUIRED_BEFORE
- SDL_ASSERT_CAPABILITY
- SDL_ASSERT_SHARED_CAPABILITY
- SDL_CAPABILITY
- SDL_EXCLUDES
- SDL_GUARDED_BY
- SDL_NO_THREAD_SAFETY_ANALYSIS
- SDL_PT_GUARDED_BY
- SDL_RELEASE
- SDL_RELEASE_GENERIC
- SDL_RELEASE_SHARED
- SDL_REQUIRES
- SDL_REQUIRES_SHARED
- SDL_RETURN_CAPABILITY
- SDL_SCOPED_CAPABILITY
- SDL_THREAD_ANNOTATION_ATTRIBUTE__
- SDL_TRY_ACQUIRE
- SDL_TRY_ACQUIRE_SHARED
SDL Wikiへのリンク
SDL3/CategoryMutex - SDL Wiki