PerformanceCounter.Decrement Methode

Definitie

Hiermee wordt het bijbehorende prestatiemeteritem met één verminderd door middel van een efficiënte atomische bewerking.

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

Retouren

De afgebroken tellerwaarde.

Uitzonderingen

De teller heeft het kenmerk Alleen-lezen, zodat de toepassing deze niet kan verlagen.

– of –

Het exemplaar is niet correct gekoppeld aan een prestatiemeteritem.

– of –

De InstanceLifetime eigenschap is ingesteld op Process wanneer u globaal gedeeld geheugen gebruikt.

Er is een fout opgetreden bij het openen van een systeem-API.

Opmerkingen

U kunt alleen naar aangepaste tellers schrijven. Alle systeemtellers zijn alleen-lezen.

Note

De Increment, IncrementByen Decrement methoden gebruiken interlocks om de tellerwaarde bij te werken. Hierdoor blijft de tellerwaarde nauwkeurig in multithreaded- of multiprocesscenario's, maar resulteert dit ook in een prestatiestraf. Als u niet de nauwkeurigheid nodig hebt die met elkaar verbonden bewerkingen biedt, kunt u de RawValue eigenschap rechtstreeks bijwerken voor een prestatieverbetering van maximaal 5 keer. In multithreaded-scenario's kunnen sommige updates van de tellerwaarde echter worden genegeerd, wat resulteert in onnauwkeurige gegevens.

Note

Als de waarde voor de eigenschap InstanceLifetimeProcess is en de prestatiemeteritemcategorie is gemaakt met .NET Framework versie 1.0 of 1.1, wordt er een InvalidOperationException gegenereerd. Prestatiemeteritemscategorieën die zijn gemaakt met eerdere versies, maken gebruik van globaal gedeeld geheugen en de waarde hiervoor InstanceLifetime moet zijn Global. Als de categorie niet wordt gebruikt door toepassingen die worden uitgevoerd op versie 1.0 of 1.1 van het .NET Framework, verwijdert en maakt u de categorie opnieuw.

Van toepassing op

Veiligheid thread

Deze methode is thread safe.