Python 2.7 使用多处理时代码挂起
我想在我的计算机上的不同内核上运行一个简单的函数。我的电脑有四个核心 首先,有一个简单的函数:Python 2.7 使用多处理时代码挂起,python-2.7,multiprocessing,ipython-parallel,Python 2.7,Multiprocessing,Ipython Parallel,我想在我的计算机上的不同内核上运行一个简单的函数。我的电脑有四个核心 首先,有一个简单的函数: def exp(x): return x**2 现在我想给这个函数四个独立的数字,并使用一个不同的核来应用这个函数,以便并行地进行计算 我试着这样做: import multiprocessing as mp if __name__ == "__main__": check = [1, 5, 6, 8] pool = mp.Pool( mp.cpu_count())
def exp(x):
return x**2
现在我想给这个函数四个独立的数字,并使用一个不同的核来应用这个函数,以便并行地进行计算
我试着这样做:
import multiprocessing as mp
if __name__ == "__main__":
check = [1, 5, 6, 8]
pool = mp.Pool( mp.cpu_count())
results = pool.map(exp, check)
但这似乎是执行的,然后它被挂起,所以我不确定我在这里是否正确使用了池
我也试过:
results = [pool.apply_async(cube, args=(x,)) for x in range(1,7)]
output = [p.get() for p in results]
但它又挂在了最后一行
我在ancondas spyder环境中使用ipython,这也是为什么?也许我需要使用ipythons并行
编辑:
我的问题的答案在这里找到,无法重新编程。对我有用。你用的是什么操作系统?嗯,我用的是Windows7