CPU 密集开 4 线程加速几倍

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

按 GIL 模型,CPU 密集、4 线程,parallel_gain("cpu", 4) 交回几?

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(parallel_gain("cpu", 4))
提交你的答案
请登录后提交答案。
去登录
代码编辑器
Ctrl + Enter 运行
本次输入:
输出:

                        
👩‍🏫
AI
💬 题目评论

全部评论