PerformanceCounter.Decrement Methode

Definition

Dekrementiert durch eine effiziente atomare Operation den zugeordneten Leistungsindikator um eins.

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

Gibt zurück

Der dekrementierte Zählerwert.

Ausnahmen

Der Zähler ist schreibgeschützt, sodass er von der Anwendung nicht dekrementiert werden kann.

- oder -

Die Instanz ist keinem Leistungsindikator ordnungsgemäß zugeordnet.

- oder -

Die InstanceLifetime-Eigenschaft wird auf Process festgelegt, wenn der globale gemeinsam genutzte Speicherbereich verwendet wird.

Beim Zugreifen auf eine System-API ist ein Fehler aufgetreten.

Hinweise

Sie können nur in benutzerdefinierte Leistungsindikatoren schreiben. Alle Systemindikatoren sind schreibgeschützt.

Hinweis

Die IncrementMethoden , IncrementBy, und Decrement verwenden Interlocks, um den Zählerwert zu aktualisieren. Dies trägt dazu bei, dass der Zählerwert in Multithread- oder Mehrverarbeitungsszenarien genau bleibt, aber auch zu Leistungseinbußen führt. Wenn Sie nicht die Genauigkeit benötigen, die interlocked-Vorgänge bieten, können Sie die Eigenschaft direkt aktualisieren, um eine RawValue bis zu fünffache Leistungsverbesserung zu erzielen. In Multithreadszenarien können jedoch einige Aktualisierungen des Zählerwerts ignoriert werden, was zu ungenauen Daten führt.

Hinweis

Wenn der Wert für die InstanceLifetime Eigenschaft ist Process und die Leistungsindikatorkategorie mit .NET Framework Version 1.0 oder 1.1 erstellt wurde, wird ein InvalidOperationException ausgelöst. Leistungsindikatorkategorien, die mit früheren Versionen erstellt wurden, verwenden globalen freigegebenen Arbeitsspeicher, und der Wert für muss sein InstanceLifetimeGlobal. Wenn die Kategorie nicht von Anwendungen verwendet wird, die unter Version 1.0 oder 1.1 der .NET Framework ausgeführt werden, löschen Sie die Kategorie, und erstellen Sie sie neu.

Gilt für:

Threadsicherheit

Diese Methode ist threadsicher.