PerformanceCounter.Increment Metoda

Definicja

Zwiększa skojarzony licznik wydajności o jeden przez wydajną operację niepodzielną.Increments the associated performance counter by one through an efficient atomic operation.

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

Zwraca

Int64

Wartość przyrostka licznika.The incremented counter value.

Wyjątki

Licznik jest tylko do odczytu, więc aplikacja nie może go zwiększyć.The counter is read-only, so the application cannot increment it.

-lub--or- Wystąpienie nie jest poprawnie skojarzone z licznikiem wydajności.The instance is not correctly associated with a performance counter.

-lub--or- InstanceLifetimeWłaściwość jest ustawiona na, Process gdy używana jest globalna pamięć współdzielona.The InstanceLifetime property is set to Process when using global shared memory.

Wystąpił błąd podczas uzyskiwania dostępu do interfejsu API systemu.An error occurred when accessing a system API.

Uwagi

Można pisać tylko do liczników niestandardowych.You can write only to custom counters. Wszystkie liczniki systemu są tylko do odczytu.All system counters are read-only.

Uwaga

IncrementMetody, IncrementBy i Decrement służą do aktualizowania wartości licznika.The Increment, IncrementBy, and Decrement methods use interlocks to update the counter value. Dzięki temu wartość licznika jest poprawna w scenariuszach wielowątkowych lub wielowątkowych, ale również powstaje spadek wydajności.This helps keep the counter value accurate in multithreaded or multiprocess scenarios, but also results in a performance penalty. Jeśli nie potrzebujesz dokładności zapewnianej przez operacje wykonywane w sposób niezbędny, możesz zaktualizować RawValue Właściwość bezpośrednio przez maksymalnie 5 razy zwiększenie wydajności.If you do not need the accuracy that interlocked operations provide, you can update the RawValue property directly for up to a 5 times performance improvement. Jednak w scenariuszach wielowątkowych niektóre aktualizacje wartości licznika mogą zostać zignorowane, co spowodowało niedokładne dane.However, in multithreaded scenarios, some updates to the counter value might be ignored, resulting in inaccurate data.

Uwaga

Jeśli wartość InstanceLifetime właściwości jest Process i została utworzona kategoria licznika wydajności z .NET Framework wersja 1,0 lub 1,1, InvalidOperationException zostanie zgłoszony.If the value for the InstanceLifetime property is Process and the performance counter category was created with .NET Framework version 1.0 or 1.1, an InvalidOperationException is thrown. Kategorie licznika wydajności utworzone przy użyciu wcześniejszych wersji używają globalnej pamięci współdzielonej, a wartość parametru InstanceLifetime musi być równa Global .Performance counter categories created with earlier versions use global shared memory, and the value for InstanceLifetime must be Global. Jeśli kategoria nie jest używana przez aplikacje działające w wersji 1,0 lub 1,1 .NET Framework, Usuń i Utwórz ponownie kategorię.If the category is not used by applications running on versions 1.0 or 1.1 of the .NET Framework, delete and recreate the category.

Dotyczy

Bezpieczeństwo wątkowe

Ta metoda nie jest metodą o bezpiecznych wątkach.This method is thread safe.