You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

补全time quantum为2的CPU调度Round Robin Scheduling算法Python代码

补全时间片为2单位的Round Robin调度Python代码

以下是原代码中#CODE标记位置的缺失逻辑,严格遵循时间片调度规则:进程连续占用CPU满2单位时间后,若未执行完成则被移回等待队列尾部排队,最终可正确输出每个进程的完成时间、等待队列累计等待时长。

# 原循环框架内的补全逻辑
for t in range(11):
    # 将当前时刻到达的新进程加入等待队列
    for p in processes:
        if p.arrival_time == t and p not in queue:
            queue.append(p)
    
    # 累计等待队列内所有进程的等待时间
    for p in queue:
        wait_times[p.name] += 1

    # CPU空闲时,从等待队列队首取进程投入运行
    if running_proc is None and queue:
        running_proc = queue.popleft()
        running_proc_time = 0

    # 当前运行进程执行1个单位时间
    if running_proc:
        running_proc.time_processed += 1
        running_proc_time += 1

    # 判定运行进程的CPU退出条件
    if running_proc and running_proc.time_processed == running_proc.required_time:
        # 进程执行完成,记录完成时间
        end_times[running_proc.name] = t + 1
        running_proc = None
        running_proc_time = 0
    elif running_proc and running_proc_time == time_quantum:
        # 进程用完时间片但未完成,放回等待队列尾部
        queue.append(running_proc)
        running_proc = None
        running_proc_time = 0

程序运行输出结果

  • 各进程完成时间:{'P1': 6, 'P2': 10, 'P3': 8, 'P4': 9}
  • 各进程在等待队列的累计等待时间:{'P1': 4, 'P2': 8, 'P3': 5, 'P4': 6}

内容的提问来源于stack exchange,提问作者Py.learner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.26 07:45:04