PerformanceCounter.Decrement PerformanceCounter.Decrement PerformanceCounter.Decrement PerformanceCounter.Decrement Method

정의

효율적인 원자 단위 연산을 통해 관련 성능 카운터를 1씩 감소시킵니다.Decrements the associated performance counter by one through an efficient atomic operation.

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

반환

감소된 카운터 값입니다.The decremented counter value.

예외

카운터는 읽기 전용이므로 애플리케이션에서 카운터를 감소시킬 수 없는 경우The counter is read-only, so the application cannot decrement it.

또는-or- 인스턴스가 성능 카운터와 제대로 연결되어 있지 않은 경우The instance is not correctly associated with a performance counter.

또는-or- 전역 공유 메모리를 사용할 때 InstanceLifetime 속성이 Process로 설정되어 있습니다.The InstanceLifetime property is set to Process when using global shared memory.

시스템 API에 액세스할 때 오류가 발생했습니다.An error occurred when accessing a system API.

플랫폼이 성능 카운터를 지원하지 않는 Windows 98 또는 Windows Millennium Edition(Me)인 경우The platform is Windows 98 or Windows Millennium Edition (Me), which does not support performance counters.

설명

사용자 지정 카운터에만 작성할 수 있습니다.You can write only to custom counters. 모든 시스템 카운터는 읽기 전용입니다.All system counters are read-only.

참고

합니다 Increment, IncrementBy, 및 Decrement 메서드 상호 잠금을 사용 하 여 카운터 값을 업데이트 합니다.The Increment, IncrementBy, and Decrement methods use interlocks to update the counter value. 이렇게 하면 다중 스레드 또는 다중 프로세스 시나리오 뿐만 아니라 성능 저하에서는 결과의 카운터 값을 정확 하 게 유지 합니다.This helps keep the counter value accurate in multithreaded or multiprocess scenarios, but also results in a performance penalty. 연동 하는 정확도 필요 하지 않은 경우 작업을 제공, 업데이트할 수 있습니다는 RawValue 5까지 속성에 직접 시간 성능 향상.If you do not need the accuracy that interlocked operations provide, you can update the RawValue property directly for up to a 5 times performance improvement. 그러나 다중 스레드 시나리오에서 몇 가지 업데이트 카운터 값을 무시 될 수 있습니다, 잘못 된 데이터가 생성 합니다.However, in multithreaded scenarios, some updates to the counter value might be ignored, resulting in inaccurate data.

참고

경우에 대 한 값을 InstanceLifetime 속성은 Process 성능 카운터 범주는.NET Framework 버전 1.0 또는 1.1을 사용 하 여 생성 된는 InvalidOperationException throw 됩니다.If the value for the InstanceLifetime property is Process and the performance counter category was created with .NET Framework version 1.0 or 1.1, an InvalidOperationException is thrown. 이전 버전을 사용 하 여 만든 성능 카운터 범주 전역 공유 메모리, 및의 값을 사용 하 여 InstanceLifetime 있어야 Global합니다.Performance counter categories created with earlier versions use global shared memory, and the value for InstanceLifetime must be Global. 버전 1.0 또는 1.1의.NET Framework에서 실행 중인 애플리케이션 범주를 사용 하지 않으면 삭제 하 고 범주를 다시 만듭니다.If the category is not used by applications running on versions 1.0 or 1.1 of the .NET Framework, delete and recreate the category.

보안

PerformanceCounterPermission
경우에 성능 카운터 범주를 작성 하기 위한 합니다 ReadOnly 속성은 false합니다.for writing the performance counter category if the ReadOnly property is false. 연관된 열거형: WriteAssociated enumeration: Write.

적용 대상