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

SDL_AtomicInt

アトミック整数値を表す構造体

ヘッダ

SDL3/SDL_atomic.h

フィールド

intvalueアトミック整数値

詳細

これは複数のCPU間で競合させずに同期させたい値を管理するために使える. アプリケーションがSDL_SetAtomicIntで値を設定すると, 他の全てのスレッドで, CPUの実行状態に関わらず, SDL_GetAtomicIntでCPUキャッシュ等に関わらず値を参照できる.

これはアトミックなコンペア・アンド・スワップ動作でも有用である. ループで実行すると, 全てのスレッドに渡りロックせずにデータの一貫性を保てる(しかし, 一般的な警告として, もし自分が何をしているのかわからない場合や, 注意深く扱わなかった場合は, 多くの問題が発生しうる. ほとんどの場合は, この方法ではなくミューテックスを使用すべきである).

これは構造体なので, 誤って演算子で直接操作することがない. SDLアトミック操作関数では値としてこれを使う必要がある.

関連項目

バージョン

SDL 3.2.0以降

SDL Wikiへのリンク

SDL_AtomicInt - SDL Wiki