Udostępnij za pośrednictwem


PerformanceCounter.Decrement Metoda

Definicja

Dekrementuje skojarzony licznik wydajności o jeden przez wydajną operację atomową.

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

Zwraca

Zdekrementowana wartość licznika.

Wyjątki

Licznik jest tylko do odczytu, więc aplikacja nie może jej dekrementacji.

-lub-

Wystąpienie nie jest poprawnie skojarzone z licznikiem wydajności.

-lub-

Właściwość InstanceLifetime jest ustawiana na Process wartość w przypadku korzystania z globalnej pamięci udostępnionej.

Wystąpił błąd podczas uzyskiwania dostępu do interfejsu API systemu.

Uwagi

Można zapisywać tylko do liczników niestandardowych. Wszystkie liczniki systemowe są tylko do odczytu.

Uwaga

Metody Increment, IncrementByi Decrement używają zakleszczenia w celu zaktualizowania wartości licznika. Pomaga to zachować dokładność wartości licznika w scenariuszach wielowątkowej lub wieloprocesowych, ale także powoduje karę wydajności. Jeśli nie potrzebujesz dokładności zapewnianej przez zakleszczone operacje, możesz zaktualizować RawValue właściwość bezpośrednio do 5 razy poprawa wydajności. Jednak w scenariuszach wielowątkowych niektóre aktualizacje wartości licznika mogą być ignorowane, co powoduje niedokładne dane.

Uwaga

Jeśli wartość InstanceLifetime właściwości to Process , a kategoria licznika wydajności została utworzona z .NET Framework w wersji 1.0 lub 1.1, InvalidOperationException jest zgłaszana wartość . Kategorie liczników wydajności utworzone we wcześniejszych wersjach używają globalnej pamięci udostępnionej, a wartość parametru InstanceLifetime musi mieć wartość Global. Jeśli kategoria nie jest używana przez aplikacje działające w wersjach 1.0 lub 1.1 .NET Framework, usuń i utwórz ponownie kategorię.

Dotyczy

Bezpieczeństwo wątkowe

Ta metoda nie jest metodą o bezpiecznych wątkach.