我在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/

10-10 14:25