补全:提交一个任务
(每道题开头都有同一段:上面的池小工具。)
贯穿全条的池小工具(标准库 ThreadPoolExecutor:固定 workers 个线程复用):
pool_sum(fn, args, workers) 池对每个参数跑 fn,交回所有结果之和(和与顺序无关,确定)
pool_map(fn, args, workers) map 按提交顺序回结果(顺序确定)
one_future(fn, x, workers) 提交一个任务,交回它的 Future 的 result()
submit_all(fn, args, workers) 提交全部,按提交顺序 result() 收结果
pool_peak(ntasks, workers) = min(ntasks, workers) 一次最多几个在跑
reuse(ntasks, workers) = (workers, ntasks) 池建几个线程 / 手写要建几个补全 run_one(x):建一个 workers=2 的池,提交 cube(x)(求立方),取它的结果交回。看 cube(4) 的结果。
全部评论