可能重复:
多处理启动太多的Python VM实例
我正在尝试使用这个简单的代码片段的python 2.6多处理模块.
from multiprocessing import Pool
p = Pool(5)
def f(x):
return x*x
print p.map(f, [1,2,3])
Run Code Online (Sandbox Code Playgroud)
但是此代码导致我的操作系统停止响应.看起来CPU太忙了.我的代码出了什么问题?
BTW:似乎多处理模块有点危险.我不得不重新启动计算机.
您根本不保护入口点,因此每个子进程都尝试启动相同的map调用等等(进入无限!).请尝试以下方法:
if __name__ == "__main__":
print p.map(f, [1,2,3])
Run Code Online (Sandbox Code Playgroud)
请参阅模块文档的此部分.