【C# .Net GC】后台垃圾回收
2024-10-18 06:33:12
在后台垃圾回收 (GC) 中,在进行第 2 代回收的过程中,将会根据需要收集暂时代(第 0 代和第 1 代)。 后台垃圾回收是在一个或多个专用线程上执行的,具体取决于它是后台还是服务器 GC,它只适用于第 2 代回收。
默认启用后台垃圾回收。 可以在 .NET Framework 应用中使用 gcConcurrent 配置设置或 .NET Core 和 .NET 5 及更高版本应用中的 System.GC.Concurrent 来启用或禁用后台垃圾回收。
备注
后台垃圾回收替换在 .NET Framework 4 及更高版本中可用的并行垃圾回收。 在 .NET Framework 4 中,仅支持工作站垃圾回收。 从 .NET Framework 4.5 开始,后台垃圾回收可用于工作站和服务器垃圾回收 。
后台垃圾回收期间对暂时代的回收称为“前台”垃圾回收。 发生前台垃圾回收时,所有托管线程都将被挂起。
当后台垃圾回收正在进行并且你已在第 0 代中分配了足够的对象时,CLR 将执行第 0 代或第 1 代前台垃圾回收。 专用的后台垃圾回收线程将在常见的安全点上进行检查以确定是否存在对前台垃圾回收的请求。 如果存在,则后台回收将挂起自身以便前台垃圾回收可以发生。 在前台垃圾回收完成之后,专用的后台垃圾回收线程和用户线程将继续。
后台垃圾回收可以消除并发垃圾回收所带来的分配限制,因为在后台垃圾回收期间,可发生暂时垃圾回收。 后台垃圾回收可以删除暂存世代中的死对象。 如果需要,它还可以在第 1 代垃圾回收期间扩展堆。
最新文章
- 关于IOS浏览器:document,body的click事件触发规则
- 百度在线笔试编程测试题(Python):整数分解成素数的积
- Spring中的JDBCTemplate
- C语言的结构体和C++结构体的区别
- DOM--5 动态修改样式和层叠样式表
- Table_EXISTS_ACTION=APPEND时导入数据时
- ActionResult,PartialViewResult,EmptyResult,ContentResult
- 【python】【转】if else 和 elif
- ISO14443-4块传输协议的实现
- What a Mess(二分)
- 列表类型转换(ConvertList<;TSource, TResult>;)
- 办理渥太华大学(本科)学历认证『微信171922772』Ottawa U学位证成绩单使馆认证University of Ottawa
- Python3 多线程例子
- 列表推导式和sum的用法
- stlcky footers布局小技巧
- sprintf()函数用法
- mysql 之各种 join 之间的关系
- 【转载】 opencv, PIL.Image的彩色图片维度 &;&; caffe和pytorch的矩阵维度
- 有关 Azure IaaS VM 磁盘以及托管和非托管高级磁盘的常见问题解答
- Word转PDF非常好用的软件&mdash;&mdash;pdfFactory Pro