我试图通过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
但是仅应返回数组。