次の方法で共有


PerformanceCounter.Decrement メソッド

定義

有効な分割不可能な操作を通じて、関連付けられたパフォーマンス カウンターを 1 ずつデクリメントします。

public:
 long Decrement();
public long Decrement ();
member this.Decrement : unit -> int64
Public Function Decrement () As Long

戻り値

デクリメントされたカウンター値。

例外

カウンターは読み取り専用です。そのため、アプリケーションによるデクリメントができません。

- または -

インスタンスがパフォーマンス カウンターに正しく関連付けられていません。

- または -

グローバル共有メモリを使用する場合、InstanceLifetime プロパティは Process に設定されます。

システム API にアクセス中にエラーが発生しました。

注釈

カスタム カウンターにのみ書き込むことができます。 すべてのシステム カウンターは読み取り専用です。

注意

IncrementBy、および Decrement の各メソッドはIncrement、インターロックを使用してカウンター値を更新します。 これは、マルチスレッドまたはマルチプロセスのシナリオではカウンター値を正確に保つのに役立ちますが、パフォーマンスが低下します。 インターロックされた操作で提供される精度が必要ない場合は、最大 5 倍の RawValue パフォーマンス向上のために プロパティを直接更新できます。 ただし、マルチスレッドのシナリオでは、カウンター値の一部の更新が無視され、データが不正確になる可能性があります。

注意

プロパティの値InstanceLifetimeが でProcess、パフォーマンス カウンター カテゴリがバージョン 1.0 または 1.1 .NET Framework作成された場合は、 InvalidOperationException がスローされます。 以前のバージョンで作成されたパフォーマンス カウンター カテゴリではグローバル共有メモリが使用され、 の InstanceLifetime 値は である Global必要があります。 .NET Frameworkのバージョン 1.0 または 1.1 で実行されているアプリケーションでカテゴリが使用されていない場合は、カテゴリを削除して再作成します。

適用対象

スレッド セーフ

このメソッドはスレッド セーフです。