【发布时间】:2012-07-23 19:52:58
【问题描述】:
我正在做一个关于 .Net CLR GC 的介绍性演示,并拥有所有不同的部分,但我想要一个具体的示例,说明尝试强制收集如何可能是危险或有害的。我知道你可以过早地将事情强加给更高的世代,但是(据我所知)这只会减慢速度。
我正在尝试考虑一种情况,即强制 GC 可能会造成真正的破坏,而我不断想出一些效率较低的解决方案。
【问题讨论】:
-
浪费时间是唯一的缺点。
-
“强制收集”我假设您的意思是调用 GC.Collect()。为什么你会认为那会很危险?是否有一些我错过的文档是这样说的? (我意识到这种可能性很高,因为这些天我跟不上。)
-
很想知道如果并行运行 GC.Collect() 会发生什么。
-
@Dialectus 内存使用率也很高,因为对象会过早地被提升为寿命更长的世代,导致它们更长时间地抵抗收集。
-
@JTA “Any public static members of this type are thread safe.” 我相信整个框架中的所有
public static成员都是如此。
标签: .net garbage-collection clr