python如何在循环引用中管理内存

上传:qq_36578 浏览: 23 推荐: 0 文件:PDF 大小:40.93KB 上传时间:2021-01-16 11:49:58 版权申诉
python中通过引用计数来回收垃圾对象,在某些环形数据结构(树,图......),存在对象间的循环引用,比如树的父节点引用子节点,子节点同时引用父节点,此时通过del掉引用父子节点,两个对象不能被立即释放 需求: 如何解决此类的内存管理问题? 如何查询一个对象的引用计数? import sys sys.getrefcount(obj) # 查询引用计数必多 1 ,因为object也引用 查询对象 如何解决内存管理问题? 通过weakref,进行弱引用,当del时候,不再引用,在引用方添加weakref.ref(引用obj); 使用引用的时候,需要用到
上传资源
用户评论