相关疑难解决方法(0)

回调函数如何在python多处理map_async中工作

我花了整整一夜调试我的代码,最后我发现了这个棘手的问题.请看下面的代码.

from multiprocessing import Pool

def myfunc(x):
    return [i for i in range(x)]

pool=Pool()

A=[]
r = pool.map_async(myfunc, (1,2), callback=A.extend)
r.wait()
Run Code Online (Sandbox Code Playgroud)

我以为我会得到A=[0,0,1],但输出是A=[[0],[0,1]].这对我来说没有意义,因为如果我有A=[],A.extend([0])A.extend([0,1])会给我A=[0,0,1].可能回调的工作方式不同.所以我的问题是如何A=[0,0,1]取而代之[[0],[0,1]]?提前感谢您的任何意见.

python pool multiprocessing

19
推荐指数
1
解决办法
3万
查看次数

标签 统计

multiprocessing ×1

pool ×1

python ×1