多进程分配数组任务,并原地修改
from multiprocessing import Pool, Manager, cpu_count
import numpy as np
import time
def func(i, j):
# wait 100s
time.sleep(0.5)
return i + j
if __name__ == '__main__':
mat = np.zeros((10, 10)).tolist()
pool = Pool(processes=3)
print('start')
for i in range(10):
for j in range(i+1, 10):
print(f'join {i} {j}')
mat[i][j] = pool.apply_async(func, (i, j,))
print('end')
pool.close()
pool.join()
print('all done')
for i in range(10):
for j in range(i+1, 10):
xcorr = mat[i][j].get()
mat[i][j] = xcorr
mat[j][i] = xcorr
print(mat)
标签:__,10,mat,python,多元,range,数组,print,pool
From: https://www.cnblogs.com/mercurysun/p/17332748.html