System.AtomicExchange

提供: RAD Studio API Documentation
移動先: 案内検索

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;

プロパティ

種類 可視性 ソース ユニット
function public System.pas System System


説明

Delphi モバイル コンパイラ用のアトミックな組み込み交換関数です。指定された値をターゲットに書き込み、ターゲットの前の値を返します。

Delphi モバイル コンパイラでは組み込みアセンブラをサポートしていないため、System ユニットには、メモリ値の交換、比較および交換、インクリメント、デクリメントをアトミックに行う手段となる 4 つのアトミックな組み込み関数が用意されています。

AtomicExchange はメモリ値の交換に使用されます。

アトミック操作は以下の目的に使用されます。

  • マルチスレッド ロック プリミティブの実装
  • いわゆる "ロックフリー" 構造の実装に必要なプリミティブの提供

関連項目