gpt4 book ai didi

python-2.7 - 多处理池卡在 jupyter notebook 中

转载 作者:行者123 更新时间:2023-12-05 05:10:16 27 4
gpt4 key购买 nike

我有一个非常简单的脚本如下:

import multiprocessing as multi

def call_other_thing_with_multi():
P = multi.Pool(3)
P.map(other_thing, range(0,5))
P.join()


def other_thing(arg):
print(arg)
return arg**2.

call_other_thing_with_multi()

当我调用它时,我的代码永远挂起。这是在带有 python 2.7 的 Windows 上。

感谢您的指导!

最佳答案

根据 documentation ,您需要在 join() 之前调用 close():

import multiprocessing as multi

def call_other_thing_with_multi():
P = multi.Pool(3)
P.map(other_thing, range(0,5))
P.close() # <-- calling close before P.join()
P.join()
print('END')

def other_thing(arg):
print(arg)
return arg**2.

call_other_thing_with_multi()

打印:

0
1
2
3
4
END

编辑:最好使用上下文管理器,不要忘记调用 close():

def call_other_thing_with_multi():
with multi.Pool(3) as P:
P.map(other_thing, range(0,5))
print('END')

关于python-2.7 - 多处理池卡在 jupyter notebook 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56780081/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com