System.AtomicDecrement
Delphi
function AtomicDecrement(var Target; [Decrement]): Integer; overload;
function AtomicDecrement(var Target; [Decrement]): Int64; overload;
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
function | public | System.pas | System | System |
説明
Delphi モバイル コンパイラ用のアトミックな組み込みデクリメント関数です。指定された数(Target
)を、指定された数(Decrement
)だけ、あるいは Decrement
パラメータが指定されていない場合には 1 だけ、デクリメントします。Target
の新しい値を返します。
Delphi モバイル コンパイラでは組み込みアセンブラをサポートしていないため、System ユニットには、メモリ値の交換、比較および交換、インクリメント、デクリメントをアトミックに行う手段となる 4 つのアトミックな組み込み関数が用意されています。
AtomicDecrement はメモリ値のデクリメントに使用されます。
アトミック操作は以下の目的に使用されます。
- マルチスレッド ロック プリミティブの実装
- いわゆる "ロックフリー" 構造の実装に必要なプリミティブの提供