__weakref__只是一个不透明的对象,它引用了当前对象的所有弱引用。实际上,它是
weakref(或有时是
weakproxy)的实例,它既是对该对象的弱引用,又是对该对象的所有弱引用的双向链接列表的一部分。
这只是一个实现细节,它使垃圾收集器可以通知弱引用其引用对象已被收集,并且不再允许访问其基础指针。
弱引用不能依赖于检查它所引用对象的引用计数。这是因为该内存可能已被回收,并且正在被另一个对象使用。最好的情况是VM崩溃,最坏的情况是弱引用将允许访问其最初未引用的对象。这就是为什么垃圾收集器必须通知弱引用其引用不再有效的原因。
有关该对象的结构,请参见weakrefobject.h,有关此对象,请参见C-
API。实现细节在这里
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)