目次 - API(機能別) - アトミック操作 - SDL_AtomicTryLock

SDL_AtomicTryLock

0でない値を設定することでスピンロックを試みる

構文

SDL_bool SDL_AtomicTryLock(SDL_SpinLock* lock)

引数

lockロック変数へのポインタ

戻り値

ロックしたときSDL_TRUE, 既にロックされているときSDL_FALSEを戻す.

詳細

アトミックロックはCPU命令を使った効率的なスピンロックである. しかし, それは飢餓状態に弱く, スレッドがロックしたまま終了すると永遠にスピンしてしまう. そのため, アトミックロック内で実行するコードは最小限にして, APIやシステムコール等の負荷の大きな処理はロック中に行わないようにする必要がある.

注意: アトミックロックで再帰的にロックするのは安全ではない.

関連項目(関数)

SDL_AtomicLock
SDL_AtomicUnlock

SDL Wikiへのリンク

SDL_AtomicTryLock - SDL Wiki