System::Threading::Interlocked class

Interlocked class

Provides API for thread-safe operations. This is a static type with no instance services. You should never create instances of it by any means.

class Interlocked

Methods

MethodDescription
static Add(int32_t&, int32_t)Increases value atomically.
static Add(int64_t&, int64_t)Increases value atomically.
static CompareExchange(T&, T, T)Compare-exchanges value on variable: checks if variable is equal to specific value and stores the new value only if stored value matches expected.
static CompareExchange(T&, T, T)Compare-exchanges value on variable: checks if variable is equal to specific value and stores the new value only if stored value matches expected. Not implemented.
static CompareExchange(int32_t&, int32_t, int32_t, bool&)Compare-exchanges value on variable: checks if variable is equal to specific value and stores the new value only if stored value matches expected.
static Decrement(int32_t&)Decrements value atomically.
static Decrement(int64_t&)Decrements value atomically.
static Exchange(T&, T)Exchanges value on variable: stores new value and returns the value variable had immediately before storing.
static Exchange(T&, T)Exchanges value on variable: stores new value and returns the value variable had immediately before storing. Not implemented.
static ExchangeAdd(int32_t&, int32_t)Increases value atomically via exchange-add procedure.
static ExchangeAdd(int64_t&, int64_t)Increases value atomically via exchange-add procedure.
static Increment(int32_t&)Increments value atomically.
static Increment(int64_t&)Increments value atomically.
static Read(int64_t&)Returns a 64-bit value, loaded as an atomic operation.

See Also