指定公共语言运行时是否在单独的线程上运行垃圾回收。
Syntax
<gcConcurrent
enabled="true|false"/>
属性和元素
下列各节描述了特性、子元素和父元素。
特性
| Attribute | Description |
|---|---|
enabled |
必需属性。 指定运行时是否同时运行垃圾回收。 |
enabled 属性
| 价值 | Description |
|---|---|
false |
不会同时运行垃圾回收。 |
true |
并发运行垃圾回收。 这是默认情况。 |
子元素
没有。
父元素
| 元素 | Description |
|---|---|
configuration |
公共语言运行时和 .NET Framework 应用程序所使用的每个配置文件中的根元素。 |
runtime |
包含有关程序集绑定和垃圾回收的信息。 |
注解
在 .NET Framework 4 之前,工作站垃圾回收支持并发垃圾回收,后者在单独的线程上后台执行垃圾回收。 在 .NET Framework 4 中,并发垃圾回收被后台 GC 取代,后者还会在单独的线程上在后台执行垃圾回收。 从 .NET Framework 4.5 开始,后台回收在服务器垃圾回收中可用。 该 gcConcurrent 元素控制运行时是执行并发垃圾回收还是后台垃圾回收(如果可用),还是在前台执行垃圾回收。
禁用后台垃圾回收
警告
从 .NET Framework 4 开始,并发垃圾回收将替换为后台垃圾回收。 .NET Framework 文档中可互换使用 术语并发 和 后台 。 若要禁用后台垃圾回收,请使用本文中所述的 gcConcurrent 元素。
默认情况下,运行时使用并发或后台垃圾回收,该回收针对延迟进行优化。 如果应用程序涉及大量用户交互,请保留启用并发垃圾回收,以最大程度地减少应用程序的暂停时间来执行垃圾回收。 如果将元素false的属性gcConcurrent设置为enabled,运行时将使用针对吞吐量进行优化的非并发垃圾回收。
以下配置文件禁用后台垃圾回收:
<configuration>
<runtime>
<gcConcurrent enabled="false"/>
</runtime>
</configuration>
如果计算机配置文件中有一个 gcConcurrentSetting 设置,则会为所有 .NET Framework 应用程序定义默认值。 计算机配置文件设置将替代应用程序配置文件设置。
有关并发垃圾回收和后台垃圾回收的详细信息,请参阅 后台垃圾回收。
Example
以下示例启用后台垃圾回收:
<configuration>
<runtime>
<gcConcurrent enabled="true"/>
</runtime>
</configuration>