Sign in Join
FPDoc Onlineexperiment

InterlockedCompareExchange function

In unit System

Conditional exchange.

Declaration

pascal
function InterlockedCompareExchange(var Target: LongInt; 
 NewValue: LongInt; 
 Comperand: LongInt): LongInt

Description

InterlockedCompareExchange does an compare-and-exchange operation on the specified values in a thread-safe way. The function compares Target and Comperand and exchanges Target with NewValue if Target and Comperand are equal. It returns the old value of Target. This is done in a thread-safe way, i.e., only one processor is accessing the Target variable at a time.

Errors

None.

See also

An experiment, built from development snapshots. Not the official Free Pascal or Lazarus documentation.