这是项目的第四节内容;;### 题目分析
-
需求:实现 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。
-