SDL 3.0
SDL_AtomicInt Struct Reference

#include <SDL_atomic.h>

Data Fields

int value
 

Detailed Description

A type representing an atomic integer value.

This can be used to manage a value that is synchronized across multiple CPUs without a race condition; when an app sets a value with SDL_SetAtomicInt all other threads, regardless of the CPU it is running on, will see that value when retrieved with SDL_GetAtomicInt, regardless of CPU caches, etc.

This is also useful for atomic compare-and-swap operations: a thread can change the value as long as its current value matches expectations. When done in a loop, one can guarantee data consistency across threads without a lock (but the usual warnings apply: if you don't know what you're doing, or you don't do it carefully, you can confidently cause any number of disasters with this, so in most cases, you should use a mutex instead of this!).

This is a struct so people don't accidentally use numeric operations on it directly. You have to use SDL atomic functions.

Since
This struct is available since SDL 3.0.0.
See also
SDL_CompareAndSwapAtomicInt
SDL_GetAtomicInt
SDL_SetAtomicInt
SDL_AddAtomicInt

Definition at line 329 of file SDL_atomic.h.

Field Documentation

◆ value

int SDL_AtomicInt::value

Definition at line 329 of file SDL_atomic.h.


The documentation for this struct was generated from the following file: