补全:限流的下载池

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

本节的东西:

Gate(n)   最多 n 个同时在里面:Semaphore(n);顺便用一把小锁维护 inside / peak(峰值)
run_gate(n, workers, hold)   workers 条线程各进一次 Gate 待 hold 秒,交回峰值

补全 pool(n, jobs):用 BoundedSemaphore(n) 让 jobs 里的函数最多 n 个同时跑(每个 job 是 sleep 0.03 的小函数),用 Gate 那样的方式记峰值;交回 (峰值 <= n, 全部跑完的个数)。

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

                        
👩‍🏫
AI
💬 题目评论

全部评论