次の方法で共有


PerformanceCounter.Increment メソッド

定義

効率的なアトミック操作によって、関連付けられているパフォーマンス カウンターを 1 ずつインクリメントします。

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

戻り値

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

例外

カウンターは読み取り専用であるため、アプリケーションではインクリメントできません。

-又は-

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

-又は-

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

システム API にアクセスするときにエラーが発生しました。

注釈

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

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

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

適用対象

スレッド セーフ

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