Python垃圾收集在imap_unordered中

时间:2017-10-26 20:00:39

标签: python garbage-collection multiprocessing python-multiprocessing pool

在使用pool的常见情况下,python标记返回args为删除,gc在一段时间内将从内存中删除此对象,例如。

def main():
    for x in pool.imap_unordered(func, args):
        pass

if __name__ == "__main__":
    main()

但是在没有累积结果的情况下如何在启动池中使用垃圾收集器?

def main():
    pool.imap_unordered(func, args)

if __name__ == "__main__":
    main()

如果游泳池不断工作,有没有机会获得过载记忆?

1 个答案:

答案 0 :(得分:1)

标准的for _ in map(): pass是迭代生成器而不获取结果的正确方法,因为Python不会为地图生成器中的每个对象分配新的内存,而是将每个对象设置在一个区域中。