Поделиться через


PerformanceCounter.Decrement Метод

Определение

Уменьшает значение связанного счетчика производительности на единицу через эффективные атомарные операции.

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

Возвращаемое значение

Уменьшенное значение счетчика.

Исключения

Счетчик доступен только для чтения, поэтому приложение не может уменьшить его значение.

-или-

Экземпляр класса, неправильно связанный со счетчиком производительности.

-или-

При использовании глобальной общей памяти свойству InstanceLifetime присваивается значение Process.

Произошла ошибка при обращении к API-интерфейсу системы.

Комментарии

Запись можно выполнять только в пользовательские счетчики. Все системные счетчики доступны только для чтения.

Примечание

Методы Increment, IncrementByи Decrement используют блокировки для обновления значения счетчика. Это помогает сохранить точное значение счетчика в многопоточных или многопроцессных сценариях, но также приводит к повышению производительности. Если вам не нужна точность, обеспечиваемая взаимоблокируемыми операциями, можно обновить RawValue свойство напрямую, чтобы повысить производительность в 5 раз. Однако в многопоточных сценариях некоторые обновления значения счетчика могут игнорироваться, что приводит к неточным данным.

Примечание

Если свойство имеет значение InstanceLifetime , Process а категория счетчика производительности была создана с платформа .NET Framework версии 1.0 или 1.1, создается исключение InvalidOperationException . Категории счетчиков производительности, созданные в более ранних версиях, используют глобальную общую память, а значение для InstanceLifetime должно иметь значение Global. Если категория не используется приложениями, работающими в версии 1.0 или 1.1 платформа .NET Framework, удалите и повторно создайте категорию.

Применяется к

Потокобезопасность

Этот метод является потокобезопасным.