PerformanceCounter.Decrement 方法

定义

通过有效的原子操作使关联的性能计数器减一。

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

返回

减少后的计数器值。

例外

该计数器是只读的,因而应用程序无法使之减少。

- 或 -

此实例未与性能计数器正确关联。

- 或 -

使用全局共享内存时,InstanceLifetime 属性设置为 Process

访问 API 时出错。

注解

只能写入自定义计数器。 所有系统计数器都是只读的。

注意

IncrementIncrementByDecrement 方法使用互锁来更新计数器值。 这有助于在多线程或多进程方案中保持计数器值的准确性,但也会导致性能损失。 如果不需要互锁操作提供的准确性,可以直接更新 属性, RawValue 将性能提升最多 5 倍。 但是,在多线程方案中,可能会忽略计数器值的某些更新,从而导致数据不准确。

注意

如果 属性的InstanceLifetime值为 ,Process并且性能计数器类别是使用 .NET Framework 版本 1.0 或 1.1 创建的,InvalidOperationException则会引发 。 使用早期版本创建的性能计数器类别使用全局共享内存,的值 InstanceLifetime 必须为 Global。 如果.NET Framework 1.0 或 1.1 版上运行的应用程序未使用该类别,请删除并重新创建该类别。

适用于

线程安全性

此方法是线程安全的。