InterlockedAdd function
Performs an atomic addition operation on the specified LONG values.
Syntax
LONG __cdecl InterlockedAdd(
_Inout_ LONG volatile *Addend,
_In_ LONG Value
);
Parameters
- Addend [in, out]
-
A pointer to the first operand. This value will be replaced with the result of the operation.
- Value [in]
-
The second operand.
Return value
The function returns the result of the operation.
Remarks
The interlocked functions provide a simple mechanism for synchronizing access to a variable that is shared by multiple threads. This function is atomic with respect to calls to other interlocked functions.
This function is implemented using a compiler intrinsic where possible. For more information, see the WinBase.h header file and _InterlockedAdd.
This function generates a full memory barrier (or fence) to ensure that memory operations are completed in order.
Requirements
|
Header |
|
|---|
See also
- Interlocked Variable Access
- InterlockedAddAcquire
- InterlockedAddRelease
- InterlockedAddNoFence
- InterlockedAdd64
- InterlockedAddAcquire64
- InterlockedAddRelease64
- InterlockedAddNoFence64
- InterlockedExchangeAdd
- Synchronization Functions