Pyhton多重处理最初返回无,然后返回正确的矩阵

时间:2019-05-28 17:40:34

标签: python multiprocessing

我试图通过Pool.apply()从python应用多处理模块,但是在返回正确的矩阵之前,它总是返回None。有人可以回答为什么它返回None以及如何避免它?
下面是python中的代码:

fieq = np.zeros([nx,ny,ni])
fieq = flib.equilibrium(rho,ux,uy,e,W,fieq); fi = fieq.copy()

def paralize(func,*args):   
    if __name__ == "__main__": 
        with mp.Pool(mp.cpu_count()) as pool:
            results = np.array(pool.apply(func,*args))
        return results

def collision(fi,fieq,Tau):
    omega = 1/Tau
    col = fi+omega*(fieq-fi)
    return col

fiout = paralize(collision,[fi,fieq,Tau_star])
print(fiout)

它最初返回None,如图所示:
returning result

但是仅应返回数组。

0 个答案:

没有答案