python的内存管理机制

智能指针这个东西,基本上是各种系统内存管理的一个标配。所有的python对象都继承自PyObject对象,每当该对象多一个引用,其内置计数器就+1。每少一个就-1。当其减少到0时,就自动释放该内存。

但仅仅是智能指针是不够的,因为它解决不了循环引用的问题。python还采用了gc模块来解决循环引用的问题。gc模块的具体机制可以参考下文:

https://rushter.com/blog/python-garbage-collector/

总的来说,一般情况下我们是不用担心python内存释放的问题。如果你想手动做更多优化,可以考虑调用gc模块的手动释放内存的函数

In some cases, it is useful to disable GC and use it manually. The automatic collection can be disabled by calling gc.disable(). To manually run the collection process, you need to use gc.collect().

发表评论

邮箱地址不会被公开。 必填项已用*标注