在C#和Python中都有GC,但是它们的实现完全不同。C#用的是传统的垃圾回收机制,主要是寻找能够从根集达到的对象,把这些对象标记为活的,然后清理其余对象;Python由于支持扩展模块(C/C++等),他的根集很难找全,因此Python使用引用计数机制来做垃圾回收。引用计数就存在循环引用的问题,参见How Python GC deal with reference-cycles?

 

参考资料:

MSDN: Garbage Collection

Stack Overflow: Difference between background and concurrent garbage collection? (C#)

Garbage Collection for Python

相关文章:

  • 2021-07-13
  • 2021-11-30
  • 2021-09-06
  • 2022-12-23
  • 2021-11-08
  • 2021-11-09
  • 2021-05-19
  • 2022-12-23
猜你喜欢
  • 2021-10-20
  • 2021-10-02
  • 2021-10-24
  • 2021-09-29
  • 2021-07-07
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案