发布时间:2023-02-22 09:40:13 人气:28 作者:多测师
python引用计数机制的使用
说明
1、python里每一个东西都是对象,它们的核心就是一个结构体:PyObject。
2、具有简单、实时性。一旦没有引用,内存就直接释放了。不用像其他机制等到特定时机。
实例
typedef struct_object {
int ob_refcnt;
struct_typeobject *ob_type;
} PyObject;
PyObject是每个对象必有的内容,其中ob_refcnt就是做为引用计数。当一个对象有新的引用时,它的ob_refcnt就会增加,当引用它的对象被删除,它的ob_refcnt就会减少
#define Py_INCREF(op) ((op)->ob_refcnt++) //增加计数
#define Py_DECREF(op) \ //减少计数
if (--(op)->ob_refcnt != 0) \
; \
else \
__Py_Dealloc((PyObject *)(op))
当引用计数为0时,该对象生命就结束了。
以上就是python引用计数机制的使用,希望对大家有所帮助。更多Python学习指路:请关注多测师。https://www.e70w.com/xwzx/