python多处理和数百个活动线程的内存问题

我使用的是Multiprocessing.dummy软件包,它只是线程软件包,用于读取某些文件。我也只使用多处理进行计算。我在Spyder中运行我的代码,并针对不同的文件或计算运行了几次之后,开始出现并行代码错误。通常,错误与内存有关,例如在多处理/线程代码中发生的OS Error: [Errno 12] Cannot allocate memory

我注意到线程数一直在增加,我想知道这是否是问题的一部分。例如,较早前我见过multiprocessing.threading.active_count() = 277。这些都是DummyProcess和Thread线程。最终,运行代码似乎会杀死/重置Spyder。我的并行代码如下:

# I/O example
io_pool = multiprocessing.dummy.Pool()
io_pool.map(func,files)

# Comp example
cpu_pool = multiprocessing.Pool()
cpu_pool.map(func,var)

有没有办法杀死活动线程?我似乎无法加入或关闭他们,但不确定该如何运作。

hualushui1129 回答:python多处理和数百个活动线程的内存问题

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3054246.html

大家都在问