补全:连接池

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

本节的东西:

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

补全 Pool:n 个「连接」(就是编号 0..n-1);take() 用 BoundedSemaphore 等到有空位再从空闲列表拿一个,give(c) 放回去再 release。四条线程各 take-sleep-give 一次,交回 (最多同时借出几个 <= n, 最后空闲个数)。

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

                        
👩‍🏫
AI
💬 题目评论

全部评论