我正在调试Django应用程序中的内存泄漏,并且可能对django_cachepurge
感到好奇:
from threading import currentThread
_urls_to_purge = {}
def add_purge_url(url):
# ....
_urls_to_purge.setdefault(currentThread(), set()).add(url)
这样的构造是否容易发生内存泄漏?
我怀疑是这样,除非我对这里的Python魔术不熟悉。
没有可以清除dict的位置。
最佳答案
我不知道currentThread
返回什么,但是您可以使用内置的id
或hash
函数来获取安全值。
如果查询不够,例如因为您要遍历容器,所以有weakref.WeakKeyDictionary
。
关于python - 在Python中,以currentThread()为键的字典会导致内存泄漏吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7902739/