Sdílet prostřednictvím


PerformanceCounter.Decrement Metoda

Definice

Sníží přidružený čítač výkonu o jeden prostřednictvím efektivní atomické operace.

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

Návraty

Hodnota dekrementovaného čítače.

Výjimky

Čítač je jen pro čtení, takže ho aplikace nemůže zmenšovat.

-nebo-

Instance není správně přidružena k čítači výkonu.

-nebo-

Vlastnost je nastavena InstanceLifetime na Process při použití globální sdílené paměti.

Při přístupu k rozhraní API systému došlo k chybě.

Poznámky

Můžete psát jenom na vlastní čítače. Všechny systémové čítače jsou jen pro čtení.

Poznámka

Metody Increment, IncrementBya Decrement používají vzájemné uzamčení k aktualizaci hodnoty čítače. To pomáhá udržovat hodnotu čítače přesnou ve vícevláknových nebo víceprocesových scénářích, ale také má za následek penalizaci výkonu. Pokud nepotřebujete přesnost, kterou poskytují vzájemně propojené operace, můžete vlastnost aktualizovat RawValue přímo pro až 5krát vyšší výkon. Ve scénářích s více vlákny však mohou být některé aktualizace hodnoty čítače ignorovány, což vede k nepřesným datům.

Poznámka

Pokud je Process hodnota InstanceLifetime vlastnosti a kategorie čítače výkonu byla vytvořena s rozhraním .NET Framework verze 1.0 nebo 1.1, InvalidOperationException je vyvolán. Kategorie čítačů výkonu vytvořené ve starších verzích používají globální sdílenou paměť a hodnota pro InstanceLifetime musí být Global. Pokud kategorie nepoužívá aplikace spuštěné ve verzi 1.0 nebo 1.1 rozhraní .NET Framework, odstraňte a znovu vytvořte kategorii.

Platí pro

Bezpečný přístup z více vláken

Tato metoda je bezpečná pro přístup z více vláken.