PerformanceCounter.Decrement Metodo

Definizione

Decrementa di uno il contatore delle prestazioni associato mediante un'efficace operazione atomica.

public long Decrement ();

Restituisce

Il valore decrementato del contatore.

Eccezioni

Il contatore è di sola lettura, quindi l'applicazione non può decrementarlo.

-oppure-

L'istanza non è associata correttamente a un contatore prestazioni.

-oppure-

La proprietà InstanceLifetime viene impostata su Process se si utilizza la memoria globale condivisa.

Si è verificato un errore durante l'accesso a un'API di sistema.

Commenti

È possibile scrivere solo nei contatori personalizzati. Tutti i contatori di sistema sono di sola lettura.

Nota

I Incrementmetodi , IncrementBye Decrement usano interlock per aggiornare il valore del contatore. Ciò consente di mantenere accurato il valore del contatore negli scenari multithreading o multiprocesso, ma comporta anche una penalità delle prestazioni. Se non è necessaria l'accuratezza specificata dalle operazioni interlock, è possibile aggiornare la RawValue proprietà direttamente per un massimo di 5 volte il miglioramento delle prestazioni. Tuttavia, negli scenari multithreading alcuni aggiornamenti al valore del contatore potrebbero essere ignorati, causando dati non accurati.

Nota

Se il valore della InstanceLifetime proprietà è Process e la categoria del contatore delle prestazioni è stata creata con .NET Framework versione 1.0 o 1.1, viene generata una InvalidOperationException classe. Le categorie di contatori delle prestazioni create con le versioni precedenti usano memoria condivisa globale e il valore per InstanceLifetime deve essere Global. Se la categoria non viene usata dalle applicazioni in esecuzione nelle versioni 1.0 o 1.1 di .NET Framework, eliminare e ricreare la categoria.

Si applica a

Prodotto Versioni
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

Thread safety

Questo metodo è thread safe.