Compartilhar via


PerformanceCounter.Increment Método

Definição

Incrementa em um o contador de desempenho associado através de uma operação atômica eficiente.

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

Retornos

O valor do contador incrementado.

Exceções

O contador é somente leitura para que o aplicativo não possa incrementá-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 escrever somente em contadores personalizados. Todos os contadores do sistema são somente leitura.

Observação

Os Incrementmétodos , IncrementBye Decrement usam intercadeias para atualizar o valor do contador. Isso ajuda a manter o valor do contador preciso em cenários multithread ou multiprocess, mas também resulta em uma penalidade de desempenho. Se você não precisar da precisão que as operações interligadas fornecem, poderá atualizar a RawValue propriedade diretamente para uma melhoria de desempenho de até cinco vezes. No entanto, em cenários multithread, 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 para 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.