Python ProcessPoolExecutor并行运算,只保存了最后一个结果

采用ProcessPoolExecutor进行并行运算,程序没有报错,但结果列表result_list中只有最后一个结果,是什么问题呢?

from concurrent.futures import ProcessPoolExecutor, as_completed
import time
from ca import ca
import cupy as cp

if __name__ == '__main__':
    weight=[]
    for i in range(30):
        a=cp.random.uniform(size=(1,72), dtype=cp.float32) 
        weight.append(a)
    result_list=[]
    with ProcessPoolExecutor(max_workers=15) as Exe:
        start = time.time()
        for n,result in zip(a,Exe.map(ca, a)):
            print("%r page status_code %s"%(n,result))
            result_list.append(result)

        end = time.time() - start
        print(str(round(end, 3)) + '秒')