各配什么模型
(任务模型:每个任务写成 (名字, 算的格数, 等的格数)——「算」要占处理器,「等」是等磁盘或网络回话,不占处理器。「算账」的三个任务:核对算 4 等 0,写盘算 1 等 3,心跳算 1 等 5。)
规则:IO 密集配线程,CPU 密集配进程。看三个任务各配什么、两种各几个:
TASKS = [("核对", 4, 0), ("写盘", 1, 3), ("心跳", 1, 5)]
def classify(task):
name, cpu, wait = task
return "IO" if wait > cpu else "CPU"
plan = {t[0]: ("线程" if classify(t) == "IO" else "进程") for t in TASKS}
print(",".join(k + ":" + v for k, v in plan.items()) + "/" + str(sum(1 for v in plan.values() if v == "线程")))
全部评论