windows上的Python多处理,图形被卡住
我希望你能帮助我。我在Windows7下的天棚里做这项工作。我正在尝试对许多数据集进行一些数据处理。在主程序中,我进行可视化和一些差异化。现在,当我在最后添加一个多处理池时,在执行过程中,它开始绘制每个进程中的差异。强行关闭这些数字也无济于事。我创建了一个与此相同的虚拟示例。我做错了什么 谢谢windows上的Python多处理,图形被卡住,python,python-2.7,multiprocessing,python-multiprocessing,Python,Python 2.7,Multiprocessing,Python Multiprocessing,我希望你能帮助我。我在Windows7下的天棚里做这项工作。我正在尝试对许多数据集进行一些数据处理。在主程序中,我进行可视化和一些差异化。现在,当我在最后添加一个多处理池时,在执行过程中,它开始绘制每个进程中的差异。强行关闭这些数字也无济于事。我创建了一个与此相同的虚拟示例。我做错了什么 谢谢 import multiprocessing as mp import time import pylab as p def cube(x,y): return y*x**3 cxrange
import multiprocessing as mp
import time
import pylab as p
def cube(x,y):
return y*x**3
cxrange = range(1,7)
cyrange = range(4,8)
p.figure()
p.hold()
p.plot(cxrange, label='x')
p.plot(cxrange,'k:', label='y')
p.hold(False)
p.show()
for y in cyrange:
if __name__ == '__main__':
pool = mp.Pool(processes=4)
results = [pool.apply(cube, args=(x,y)) for x in cxrange]
pool.close()
pool.join()
print(results)
您应该在for循环之外创建池。您可能还希望使用
apply\u async
而不是apply
,否则您只是在每个元素上按顺序运行cube
,而不是同时运行。