Python教程自学网欢迎您来学习!
当前位置: 首页 > Python基础教程 > python引用计数机制的使用

python引用计数机制的使用

   

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时,该对象生命就结束了。