C#循环参考对GC性能的影响

时间:2012-05-24 16:43:32

标签: c# garbage-collection circular-reference

  

可能重复:
  Garbage collector and circular reference

如果对象具有循环引用但是否未附加到任何根,对GC性能是否有任何影响,因此对GC来说是否成熟?

在一个方向上使用弱反射会有什么好处吗?

3 个答案:

答案 0 :(得分:4)

  

如果对象具有循环引用

,是否会对GC性能产生任何影响

没有。扫描进程在遇到已访问的实例时停止。没有非圆形结构的差异。

  

但是否与任何root都没有关联,因此GC已经成熟了?

在这种情况下,根本不会访问它们,这使得它与多少交叉链接完全无关。

答案 1 :(得分:3)

  

如果对象具有循环引用但是否未附加到任何根,对GC性能是否有任何影响,因此对GC来说是否成熟?

不。基本上,当没有强引用时,这两个对象都有资格进行垃圾收集......你不需要担心它。

答案 2 :(得分:3)

如果无法从根目录到达对象,则不会遍历它们,因此循环引用不会成为问题。