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