Partilhar via


PerformanceCounter.Decrement Método

Definição

Decrementa em um o contador de desempenho associado por meio de uma operação atômica eficiente.

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

Retornos

O valor do contador diminuído.

Exceções

O contador é somente leitura para que o aplicativo não possa reduzi-lo.

- ou -

A instância não está associada corretamente a um contador de desempenho.

- ou -

A propriedade InstanceLifetime está definida como Process ao usar a memória global compartilhada.

Ocorreu um erro ao acessar uma API do sistema.

Comentários

Você pode gravar somente em contadores personalizados. Todos os contadores do sistema são somente leitura.

Observação

Os Incrementmétodos , IncrementBye Decrement usam bloqueios para atualizar o valor do contador. Isso ajuda a manter o valor do contador preciso em cenários multithreaded ou multiprocessos, mas também resulta em uma penalidade de desempenho. Se você não precisar da precisão que as operações interligadas fornecem, atualize a RawValue propriedade diretamente para uma melhoria de desempenho de até 5 vezes. No entanto, em cenários multithreaded, algumas atualizações no valor do contador podem ser ignoradas, resultando em dados imprecisos.

Observação

Se o valor da InstanceLifetime propriedade for Process e a categoria do contador de desempenho tiver sido criada com .NET Framework versão 1.0 ou 1.1, um InvalidOperationException será gerado. As categorias de contador de desempenho criadas com versões anteriores usam memória compartilhada global e o valor de InstanceLifetime deve ser Global. Se a categoria não for usada por aplicativos em execução nas versões 1.0 ou 1.1 do .NET Framework, exclua e recrie a categoria.

Aplica-se a

Acesso thread-safe

Este método é thread-safe.