gpt4 book ai didi

python - 多处理不输出任何东西

转载 作者:行者123 更新时间:2023-12-04 08:40:16 26 4
gpt4 key购买 nike

我正在尝试在池中创建一个池来并行化 for循环。我正在尝试这样做以查看它是否比运行 for 更快循环只创建一个池。我的问题是我编写的代码似乎从未完成运行,我不太明白为什么。 这是代码:

import numpy as np
import multiprocessing as mp
import time
cpus = mp.cpu_count() - 1

def f(x):
lista = list(pool.map(time.sleep, [1,2,3] * x))
print('done')
return lista

pool = mp.Pool(cpus)
lista2 = pool.map(f, range(2))
pool.close()
pool.join()

最佳答案

来自文档:“请注意,池的方法只能由创建它的进程使用。”
https://docs.python.org/3.4/library/multiprocessing.html#module-multiprocessing.pool
另请注意,由 Pool 启动的进程是不允许有自己的 child 的守护进程。这可以解释为什么您会遇到僵局。根据这篇博客文章,您应该已经看到对此提出的异常,我不确定为什么您没有遇到这种情况:
https://blog.mbedded.ninja/programming/languages/python/python-multiprocessing/

关于python - 多处理不输出任何东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64600923/

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