IO 密集该用多进程吗

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

按模型,IO 密集,use_processes("io") 交回什么?

GIL 模型:parallel_gain(种类, n)——CPU 密集在 GIL 下不加速(1)、IO 密集能重叠(约 n);one_at_a_time=同时只 1 个线程跑字节码;use_processes=CPU 密集用多进程绕开。

def parallel_gain(kind, n):
    """CPU 密集在 GIL 下不加速(1);IO 密集能重叠(约 n)。"""
    return 1 if kind == "cpu" else n


def one_at_a_time(n_threads):
    """GIL 下同一时刻真正在跑 Python 字节码的线程数。"""
    return 1


def use_processes(kind):
    """CPU 密集要真并行 —— 用多进程绕开 GIL。"""
    return kind == "cpu"

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

                        
👩‍🏫
AI
💬 题目评论

全部评论