<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>