PerformanceCounter.Decrement 方法

定義

經由有效率的不可部分完成的作業 (Atomic Operation),將相關的效能計數器逐一遞減。

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

傳回

遞減的計數器值。

例外狀況

計數器是唯讀的,所以應用程式無法將其遞減。

-或-

該執行個體沒有與效能計數器正確的相關聯。

-或-

使用全域共用記憶體時,InstanceLifetime 屬性是設定為 Process

存取系統 API 時發生的錯誤。

備註

您只能寫入自訂計數器。 所有系統計數器都是唯讀的。

注意

IncrementIncrementByDecrement 方法會使用 interlocks 來更新計數器值。 這有助於在多線程或多進程案例中保持計數器值正確,但也會導致效能降低。 如果您不需要連結作業所提供的精確度,您可以直接更新 RawValue 屬性,最多 5 倍的效能改進。 不過,在多線程案例中,可能會忽略計數器值的一些更新,導致數據不正確。

注意

如果 屬性的值InstanceLifetimeProcess ,而且使用 1.0 或 1.1 版 .NET Framework 建立性能計數器類別,InvalidOperationException則會擲回 。 使用舊版建立的效能計數器類別會使用全域共用記憶體,且的值 InstanceLifetime 必須是 Global。 如果 .NET Framework 1.0 或 1.1 版上執行的應用程式未使用此類別,請刪除並重新建立類別。

適用於

執行緒安全性

這個方法是安全線程。