コードをデバッグするのに一晩かかりましたが、ついにこのトリッキーな問題を発見しました。以下のコードを見てください。
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()
が得られると思ったのです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]]です ?