Compartilhar via


<gcConcurrent> element

Especifica se o Common Language Runtime executa a coleta de lixo em um thread separado.

<configuração>
  <runtime>
    <gcConcurrent>

Syntax

<gcConcurrent
   enabled="true|false"/>

Atributos e elementos

As seções a seguir descrevem atributos, elementos filho e elementos pai.

Atributos

Atributo Descrição
enabled Atributo obrigatório.

Especifica se o runtime executa a coleta de lixo simultaneamente.

atributo habilitado

Valor Descrição
false Não executa a coleta de lixo simultaneamente.
true Executa a coleta de lixo simultaneamente. Esse é o padrão.

Elementos filho

Nenhum.

Elementos pai

Elemento Descrição
configuration O elemento raiz em cada arquivo de configuração usado pelos aplicativos do Common Language Runtime e .NET Framework.
runtime Contém informações sobre associação do assembly e coleta de lixo.

Comentários

Antes do .NET Framework 4, a coleta de lixo da estação de trabalho tinha suporte para a coleta de lixo simultânea, que realizava a coleta de lixo em segundo plano em um thread separado. No .NET Framework 4, a coleta de lixo simultânea foi substituída pela GC em segundo plano, que também executa a coleta de lixo em segundo plano em um thread separado. A partir do .NET Framework 4.5, a coleta de lixo em segundo plano está disponível para a coleta de lixo de servidor. O elemento gcConcurrent controla se o runtime executa a coleta de lixo simultânea ou em segundo plano, se está disponível ou se executa a coleta de lixo em primeiro plano.

Para desabilitar a coleta de lixo em segundo plano

Aviso

A partir do .NET Framework 4, a coleta de lixo simultânea foi substituída pela coleta de lixo em segundo plano. Os termos simultânea e em segundo plano são usados de forma intercambiável na documentação do .NET Framework. Para desabilitar a coleta de lixo em segundo plano, use o elemento gcConcurrent, conforme discutido neste artigo.

Por padrão, o runtime usa coleta de lixo simultânea ou em segundo plano, que é otimizada para latência. Se o aplicativo envolver uma interação pesada do usuário, deixe a coleta de lixo simultânea habilitada para minimizar o tempo de pausa do aplicativo para executar a coleta de lixo. Se você definir o atributo enabled do elemento gcConcurrent como false, o runtime usará a coleta de lixo não simultânea, que é otimizada para taxa de transferência.

O arquivo de configuração a seguir desabilita a coleta de lixo em segundo plano:

<configuration>
   <runtime>
      <gcConcurrent enabled="false"/>
   </runtime>
</configuration>

Se houver uma configuração gcConcurrentSetting no arquivo de configuração do computador, ela definirá o valor padrão para todos os aplicativos em .NET Framework. A configuração do arquivo de configuração do computador substitui a configuração do arquivo de configuração do aplicativo.

Para obter mais informações sobre coleta de lixo simultânea e em segundo plano, consulte Coleta de lixo em segundo plano.

Exemplo

O exemplo a seguir habilita a coleta de lixo em segundo plano:

<configuration>
   <runtime>
      <gcConcurrent enabled="true"/>
   </runtime>
</configuration>

Confira também