_InterlockedCompareExchange

9/7/2007

This function atomically compares a variable value to a comparison value and exchanges the value of Destination with Exchange if they are the same.

The function prevents more than one thread from using the same variable simultaneously.

Syntax

InterlockedCompareExchange(
  PVOID* Destination,
  PVOID ExChange,
  PVOID Comperand
);

Parameters

  • Destination
    [out] Pointer to the value that the function compares to Comperand.
  • ExChange
    [in] Value used to replace contents of Destination, if necessary.
  • Comperand
    [in] Standard value used for comparison to the value in Destination.

Return Values

Initial value of the variable pointed to by Destination.

Remarks

The interlocked functions provide a simple mechanism for synchronizing access to a variable that is shared by multiple threads. The threads of different processes can use this mechanism if the variable is in shared memory.

Requirements

Routine Required header Architecture

_InterlockedCompareExchange

<winnt.h>

MIPS16, MIPSII, MIPSIII, MIPS IV, MIPS 32

See Also

Reference

Intrinsic Functions for MIPS Microprocessors