补全:用池跑批量(复用)

👁️ 2 人浏览 💬 0 人评论 ❤️ 添加收藏

(每道题开头都有同一段:上面的池小工具。)

贯穿全条的池小工具(标准库 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)          池建几个线程 / 手写要建几个

补全 batch(xs):用 workers=4 的池对 xs 每个算平方求和——4 个线程复用着把一批任务干完。看 [1..6] 的平方和。

提交你的答案
请登录后提交答案。
去登录
代码编辑器
Ctrl + Enter 运行
本次输入:
输出:

                        
👩‍🏫
AI
💬 题目评论

全部评论