PerformanceCounter.Increment Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Увеличивает значение связанного счетчика производительности на единицу через эффективные атомарные операции.
public:
long Increment();
public long Increment ();
member this.Increment : unit -> int64
Public Function Increment () As Long
Возвращаемое значение
Увеличенное значение счетчика.
Исключения
Счетчик доступен только для чтения, поэтому приложение не может увеличить его значение.
-или-
Экземпляр класса, неправильно связанный со счетчиком производительности.
-или-
При использовании глобальной общей памяти свойству InstanceLifetime присваивается значение Process.
Произошла ошибка при обращении к API-интерфейсу системы.
Комментарии
Запись можно выполнять только в пользовательские счетчики. Все системные счетчики доступны только для чтения.
Примечание
Методы Increment, IncrementByи Decrement используют блокировки для обновления значения счетчика. Это помогает сохранить точное значение счетчика в многопоточных или многопроцессных сценариях, но также приводит к снижения производительности. Если точность, обеспечиваемая операциями с блокировкой, не требуется, можно обновить RawValue свойство напрямую, чтобы повысить производительность в 5 раз. Однако в многопоточных сценариях некоторые обновления значения счетчика могут игнорироваться, что приводит к неточным данным.
Примечание
Если свойство имеет Process значение InstanceLifetime , а категория счетчика производительности была создана с платформа .NET Framework версии 1.0 или 1.1, возникает исключение InvalidOperationException . Категории счетчиков производительности, созданные в более ранних версиях, используют глобальную общую память, и значение для InstanceLifetime должно иметь значение Global. Если категория не используется приложениями, работающими в версии 1.0 или 1.1 платформа .NET Framework, удалите и повторно создайте категорию.
Применяется к
Потокобезопасность
Этот метод является потокобезопасным.