问题遇到的现象和发生背景
我想使用多进程来处理并行工作,但是不知道如何获取进程的返回值。
我需要保存这些返回值用于后续的处理。
问题相关代码,请勿粘贴截图
from multiprocessing import Process
def run1(N):
trajlen1 = np.empty(shape=(0, 1))
etaODAVG1 = np.empty(shape=(0, 1))
for i in N:
trajOD, etaODavg = traj_judge(link_start[i], link_start5, link_end[i], link_end5, eta2)
if len(trajOD) == 1:
etaODavg1 = simple_eta1[i]
else:
etaODavg1 = etaODavg
etaODAVG1=np.append(etaODAVG1, [[etaODavg1]], axis=0)
trajlen1=np.append(trajlen1, [[len(trajOD)]], axis=0)
print('write:', i, 'trajlen:',len(trajOD),'etaODAVG',etaODavg1,'simpale_eta:', simple_eta1[i], 'eta1:', eta1[i])
return etaODAVG1,trajlen1
def main():
p1=Process(target=run1,args=(l2[0],))
p1.start()
p1.join()
if __name__ == '__main__':
main()
我想要达到的结果
我需要在main()中获取并保存etaODAVG1,trajlen1这两个返回值。