我有一段代码,可以从多个文件中读取数据,这些文件的名称为001.txt、002.txt、...,411.txt。我想要从每个文件中读取数据,绘制图形,并将其保存为001.jpg、002.jpg、...,411.jpg。
我可以通过循环遍历文件来实现这一点,但我想使用multiprocess模块加速处理速度。
然而,当我使用下面的代码时,计算机会挂起-我无法点击任何东西,但鼠标可以移动,声音也在继续播放。然后我必须强制关闭计算机。
很明显,我在使用matplotlib时误用了multiprocess模块。我已经使用类似于以下代码的内容生成数据,并将其保存到文本文件中,没有出现任何问题。我错过了什么?
我可以通过循环遍历文件来实现这一点,但我想使用multiprocess模块加速处理速度。
然而,当我使用下面的代码时,计算机会挂起-我无法点击任何东西,但鼠标可以移动,声音也在继续播放。然后我必须强制关闭计算机。
很明显,我在使用matplotlib时误用了multiprocess模块。我已经使用类似于以下代码的内容生成数据,并将其保存到文本文件中,没有出现任何问题。我错过了什么?
import multiprocessing
def do_plot(number):
fig = figure(number)
a, b = random.sample(range(1,9999),1000), random.sample(range(1,9999),1000)
# generate random data
scatter(a, b)
savefig("%03d" % (number,) + ".jpg")
print "Done ", number
close()
for i in (0, 1, 2, 3):
jobs = []
# for j in chunk:
p = multiprocessing.Process(target = do_plot, args = (i,))
jobs.append(p)
p.start()
p.join()