第 7 个连接给谁

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

按模型,3 个 worker 时 assign(7, 3) 交回几?

贯穿本节的并发模型(判题机 0.25 核有 GIL、答案不靠时序,这是它的确定模型,见 spine.py):高并发服务器搭起来后要选架构、加锁护状态、连接池/队列、压测、测吞吐延迟、定位竞争。

并发服务器:assign(i, workers)=第 i 个连接轮询给哪个 worker、count_done=处理完几条、all_served=都处理完没、idle_workers=还空几个。

def assign(i, workers):
    """第 i 个连接轮询分给哪个 worker。"""
    return i % workers


def count_done(log):
    """处理日志里有几条是 done。"""
    return sum(1 for x in log if x == "done")


def all_served(reqs, done):
    """请求都处理完了吗。"""
    return done >= reqs


def idle_workers(busy, workers):
    """还有几个 worker 空着。"""
    return workers - busy

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

                        
👩‍🏫
AI
💬 题目评论

全部评论