PerformanceCounter.Increment メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
効率的なアトミック操作によって、関連付けられているパフォーマンス カウンターを 1 ずつインクリメントします。
public:
long Increment();
public long Increment();
member this.Increment : unit -> int64
Public Function Increment () As Long
戻り値
インクリメントされたカウンター値。
例外
カウンターは読み取り専用であるため、アプリケーションではインクリメントできません。
-又は-
インスタンスがパフォーマンス カウンターに正しく関連付けられていない。
-又は-
グローバル共有メモリを使用する場合、 InstanceLifetime プロパティは Process に設定されます。
システム API にアクセスするときにエラーが発生しました。
注釈
カスタム カウンターにのみ書き込むことができます。 すべてのシステム カウンターは読み取り専用です。
注
Increment、IncrementBy、およびDecrementメソッドは、インターロックを使用してカウンター値を更新します。 これにより、マルチスレッドまたはマルチプロセスのシナリオでカウンター値を正確に保つことができますが、パフォーマンスが低下します。 インターロックされた操作で提供される精度が不要な場合は、最大 5 倍のパフォーマンス向上のために、 RawValue プロパティを直接更新できます。 ただし、マルチスレッド シナリオでは、カウンター値の一部の更新が無視され、データが不正確になる可能性があります。
注
InstanceLifetime プロパティの値がProcessされ、パフォーマンス カウンター カテゴリが .NET Framework バージョン 1.0 または 1.1 で作成された場合、InvalidOperationExceptionがスローされます。 以前のバージョンで作成されたパフォーマンス カウンター カテゴリはグローバル共有メモリを使用し、 InstanceLifetime の値は Globalする必要があります。 .NET Framework のバージョン 1.0 または 1.1 で実行されているアプリケーションでカテゴリが使用されていない場合は、カテゴリを削除して再作成します。
適用対象
スレッド セーフ
このメソッドはスレッド セーフです。