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;
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
function | public | System.pas | System | System |
Beschreibung
Unteilbare (atomic) intrinsische Austauschen-Funktion für mobile Delphi-Compiler. Schreibt den gegebenen Wert in das Ziel und gibt den vorherigen Wert des Ziels zurück.
Da die mobilen Delphi-Compiler keinen integrierten Assembler unterstützen, enthält die Unit System vier intrinsische "Atomic"-Funktionen, mit denen Speicherwerte unteilbar ausgetauscht, verglichen und ausgetauscht, inkrementiert und dekrementiert werden können.
Die Funktion AtomicExchange wird zum Austauschen von Speicherwerten verwendet.
Mit unteilbaren Operationen werden:
- Primitive, blockierende Multithreaded-Klassen implementiert
- Primitive Klassen bereitgestellt, die für die Implementierung von sogenannten "nicht-blockierenden" Strukturen erforderlich sind
Siehe auch
- System.AtomicCmpExchange
- System.AtomicDecrement
- System.AtomicIncrement
- Migrieren von Delphi-Code zu mobilen Anwendungen vom Desktop aus
- DCCIOS32.EXE: Der Delphi-Compiler für den iOS-Simulator
- DCCIOSARM.EXE: Der Delphi-Compiler für 32-Bit-iOS-Geräte
- DCCIOSARM64.EXE: Der Delphi-Compiler für 64-Bit-iOS-Geräte