PerformanceCounter.Decrement 메서드

정의

효율적인 원자 단위 연산을 통해 관련 성능 카운터를 1씩 감소시킵니다.

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

반환

감소된 카운터 값입니다.

예외

카운터는 읽기 전용이므로 애플리케이션에서 카운터를 감소시킬 수 없는 경우

또는

인스턴스가 성능 카운터와 제대로 연결되어 있지 않은 경우

또는

전역 공유 메모리를 사용할 때 InstanceLifetime 속성이 Process로 설정되어 있습니다.

시스템 API에 액세스할 때 오류가 발생했습니다.

설명

사용자 지정 카운터에만 쓸 수 있습니다. 모든 시스템 카운터는 읽기 전용입니다.

참고

, IncrementByDecrement 메서드는 Increment인터록을 사용하여 카운터 값을 업데이트합니다. 이렇게 하면 다중 스레드 또는 다중 프로세서 시나리오에서 카운터 값을 정확하게 유지할 수 있지만 성능 저하도 발생합니다. 연동 작업이 제공하는 정확도가 필요하지 않은 경우 최대 5배 성능 향상을 위해 속성을 직접 업데이트 RawValue 할 수 있습니다. 그러나 다중 스레드 시나리오에서는 카운터 값에 대한 일부 업데이트가 무시되어 부정확한 데이터가 발생할 수 있습니다.

참고

속성 값이 InstanceLifetimeProcess 고 .NET Framework 버전 1.0 또는 1.1을 사용하여 성능 카운터 범주를 만든 경우 가 InvalidOperationException throw됩니다. 이전 버전으로 만든 성능 카운터 범주는 전역 공유 메모리를 사용하며 의 값 InstanceLifetime 은 이어야 Global합니다. 버전 1.0 또는 1.1의.NET Framework에서 실행 중인 애플리케이션 범주를 사용 하지 않으면 삭제 하 고 범주를 다시 만듭니다.

적용 대상

스레드 보안

이 메서드는 스레드로부터 안전합니다.