qq_42270360 2022-03-16 22:52 采纳率: 100%
浏览 21
已结题

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)) + '秒')

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 3月24日
    • 创建了问题 3月16日