我在ipython中运行以下代码:
import multiprocessing
def my_function(x):
"""The function you want to compute in parallel."""
x += 1
return x
if __name__ == '__main__':
pool = multiprocessing.Pool()
results = pool.map(my_function, [1,2,3,4,5,6])
print(results)
在windows上的ipython qt控制台中。但是,代码不起作用——qt控制台只是冻结了。这个问题是ipython特有的(上面的代码应该适用于普通的python 2.7)。
有什么解决办法吗?
最佳答案
从documentation开始:
注意
此包中的功能要求__main__
模块
可被孩子们强求。这在编程指南中有介绍
不过,这里值得指出。这意味着一些例子,
例如multiprocessing.pool示例在
交互式口译员
关于python - 多重处理可以在Python中工作,但不能在iPython中工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23641475/