我试图在下面建立multiprocessing
的基本示例。然而,执行只打印here
和<_MainProcess(MainProcess, started)>
和pool.apply()
甚至从来没有调用函数cube()
。相反,执行只是无限期地保持运行而不终止。
import multiprocessing as mp
def cube(x):
print('in function')
return x**3
if __name__ == '__main__':
pool = mp.Pool(processes=4)
print('here')
print(mp.current_process())
results = [pool.apply(cube, args=(x,)) for x in range(1,7)]
print('now here')
pool.close()
pool.join()
print(results)
我尝试了各种其他基本的例子,包括pool.map()
,但仍然遇到同样的问题。我在Windows 10上使用Python 3.7。由于我没有想法,有没有人知道这里有什么问题或者我如何进一步调试?
谢谢!
谢谢,升级到Python 3.7.3解决了这个问题。