System.AtomicExchange
Delphi
function AtomicExchange(var Target; Value: <Integer or NativeInt or Pointer>): Integer; overload;
function AtomicExchange(var Target; Value: <Integer or NativeInt or Pointer>): Int64; overload;
function AtomicExchange(var Target; Value: <Integer or NativeInt or Pointer>): Pointer; overload;
function AtomicExchange(var Target; Value: <Integer or NativeInt or Pointer>): NativeInt; overload;
Properties
Type | Visibility | Source | Unit | Parent |
---|---|---|---|---|
function | public | System.pas | System | System |
Description
Atomic intrinsic Exchange function for use with Delphi mobile compilers. Writes the given value to the target and returns the previous value of the target.
Because the Delphi mobile compilers do not support a built-in assembler, the System unit provides four atomic intrinsic functions that provide a way to atomically exchange, compare and exchange, increment, and decrement memory values.
AtomicExchange is used for exchanging memory values.
Atomic operations are used to:
- Implement multi-threaded locking primitives
- Provide the primitives necessary for implementing so-called "lock-free" structures