python multiprocessing特殊问题~ 无法使用

最基础的pool无法使用

我进去看了下好像是threading时 timeout
一直无法出来 windows任务管理器 有出进程
但是就是不执行..
from multiprocessing import Pool

def f(x):
return x*x

if name == '__main__':
with Pool(5) as p:
print(p.map(f, [1, 2, 3]))

或者p.apply_async也不行 里面选用的函数中

print都无法输出 就是没进入到函数里面

连这个.都没有办法输出

唯一特殊 电脑是2个cpu..合起来的工作站 一共20核心
其他软件里面调用过多线程没问题(测试数据)
但是python这个代码却执行不了...

1个回答

代码没有错
你是2CPU,Pool(5)超过了你的CPU数量,修改为Pool(2)

guijianchou123456
guijianchou123456 我也遇到同样的问题,用这个启的进程根本没有进入函数
大约一个月之前 回复
weixin_32650275
weixin_32650275 不是这个问题..pool可以超过核心数的 测过
9 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!