这是项目的第二节内容;;### 题目分析

123 阅读1分钟

这是项目的第二节内容;;### 题目分析

  • 需求:实现 Scheduler 类,add 方法支持添加同步和异步任务,同一时刻最多 2 个任务在执行。

  • 任务类型

    • syncTask(taskName):同步任务,立即执行并打印 taskName。
    • asyncTask(taskName, time):异步任务,延迟 time 毫秒后打印 taskName。
  • 限制:同一时刻最多 2 个任务在执行,任务完成后继续执行队列中的下一个任务。

  • 输出示例

    • 输入:scheduler.add(asyncTask('1', 1000))、scheduler.add(asyncTask('2', 500))、scheduler.add(syncTask('3'))、scheduler.add(asyncTask('4', 300))、scheduler.add(asyncTask('5', 400))。

    • 输出顺序:2 3 4 1 5。

    • 解释:

      • 0ms:任务 1(1000ms)和任务 2(500ms)开始执行。
      • 500ms:任务 2 完成,打印 2,任务 3(同步)开始并立即完成,打印 3,任务 4(300ms)开始。
      • 800ms:任务 4 完成,打印 4,任务 5(400ms)开始。
      • 1000ms:任务 1 完成,打印 1。
      • 1200ms:任务 5 完成,打印 5。