windows上的Python多处理,图形被卡住

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

我希望你能帮助我。我在Windows7下的天棚里做这项工作。我正在尝试对许多数据集进行一些数据处理。在主程序中,我进行可视化和一些差异化。现在,当我在最后添加一个多处理池时,在执行过程中,它开始绘制每个进程中的差异。强行关闭这些数字也无济于事。我创建了一个与此相同的虚拟示例。我做错了什么

谢谢

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
,而不是同时运行。