[Overview][Constants][Types][Classes][Procedures and functions][Variables][Index] Reference for unit 'System' (#rtl)

InterLockedExchangeAdd

Thread-safe add and exchange of 2 values

Declaration

Source position: line 0

function InterLockedExchangeAdd(

  var Target: LongInt;

  Source: LongInt

):LongInt;

function InterLockedExchangeAdd(

  var Target: Pointer;

  Source: Pointer

):Pointer;

function InterLockedExchangeAdd(

  var Target: Cardinal;

  Source: Cardinal

):Cardinal;

Description

InterlockedDecrement adds to Target the value of Source in a thread-safe way, and 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

InterLockedDecrement

  

Thread-safe decrement

InterLockedIncrement

  

Thread-safe increment

InterLockedExchange

  

Exchange 2 integers in a thread-safe way

InterlockedCompareExchange

  

Conditional exchange

The latest version of this document can be found at lazarus-ccr.sourceforge.net.