【发布时间】:2018-02-07 09:51:01
【问题描述】:
我在 Linux 上使用 python 3.6,我使用的是 python 的多处理库,它一直在工作,直到我切换到 Windows 10。首先,我认为这是因为多处理库在 Linux 和 Windows 上的工作方式不同,所以我确保我的所有变量都是可腌制的,但没有结果。
然后,我想看看多处理池是否正常工作, 我试过这段代码:(多处理文档中的基本示例)
from multiprocessing import Pool
def f(x):
return x*x
if __name__ == '__main__':
p = Pool(5)
print(p.map(f, [1, 2, 3]))
它不起作用,当我在任务管理器中检查处理器时,只使用了 1%。
我也尝试了p.map_async,它有效,但是当我尝试获取结果时 (p.map_async().get()) 它不起作用 (RuntimeError)
【问题讨论】:
-
RuntimeError是否为您提供更多信息?您显示的代码会发生什么情况(它会冻结还是引发异常)? -
您找到解决方案了吗?请分享。
-
@Jean-François Fabre : 解决方案的另一个位置在哪里?
-
啊,看问题的顶部。这是一个已知的 UI 烦恼,人们看到“重复”,但看不到顶部的链接
标签: python python-3.x python-multiprocessing