Young87

SmartCat's Blog

So happy to code my life!

当前位置:首页 >AI写作

c#题例-2025-09-07 06:53:08

编写一个C#程序,模拟一个任务调度系统,满足以下条件:

1. 系统中包含多个任务(Task),每个任务具有唯一ID、执行时间(毫秒)和一组依赖任务ID列表。
2. 任务只能在其所有依赖任务成功执行完成后才能开始执行。
3. 执行过程中,支持最大并发数限制(例如同时最多运行N个任务)。
4. 实现调度逻辑,尽可能高效地调度任务,输出每个任务的开始时间和结束时间。
5. 需处理循环依赖检测,若存在循环依赖则抛出异常。
6. 要求使用TPL(Task Parallel Library)实现任务调度,并合理使用CancellationToken处理可能的取消操作。

请完成代码实现,并在main函数中使用以下任务结构进行测试:

- 任务A:执行时间1000ms,无依赖
- 任务B:执行时间500ms,依赖任务A
- 任务C:执行时间300ms,依赖任务A
- 任务D:执行时间800ms,依赖任务B和任务C
- 最大并发数为2

输出示例格式(时间以毫秒为单位):
[时间] TaskA 开始执行
[时间] TaskB 结束执行
...

除特别声明,本站所有文章均为原创,如需转载请以超级链接形式注明出处:SmartCat's Blog

上一篇: c#题例-2025-09-07 12:26:28

下一篇: c#题例-2025-09-07 01:19:46

精华推荐