#[repr(C)]pub struct SDL_AtomicInt {
pub value: c_int,
}Expand 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.
Available Since: This struct is available since SDL 3.2.0.
See Also: SDL_CompareAndSwapAtomicInt See Also: SDL_GetAtomicInt See Also: SDL_SetAtomicInt See Also: SDL_AddAtomicInt
Fields§
§value: c_intTrait Implementations§
Source§impl Clone for SDL_AtomicInt
impl Clone for SDL_AtomicInt
Source§fn clone(&self) -> SDL_AtomicInt
fn clone(&self) -> SDL_AtomicInt
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more