PerformanceCounter.Increment Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Incrementa di uno il contatore delle prestazioni associato mediante un'efficace operazione atomica.
public:
long Increment();
public long Increment ();
member this.Increment : unit -> int64
Public Function Increment () As Long
Restituisce
Il valore incrementato del contatore.
Eccezioni
Il contatore è di sola lettura, quindi l'applicazione non può incrementarlo.
-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 in 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 riduzione delle prestazioni. Se non è necessaria l'accuratezza specificata dalle operazioni interlocked, è possibile aggiornare direttamente la RawValue proprietà per un massimo di 5 volte il miglioramento delle prestazioni. Negli scenari multithreading, tuttavia, 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 un'eccezione InvalidOperationException . Le categorie di contatori delle prestazioni create con le versioni precedenti usano la 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
Thread safety
Questo metodo è thread-safe.