Young87

SmartCat's Blog

So happy to code my life!

游戏开发交流QQ群号60398951

当前位置:首页 >AI写作

c#题例-2025-08-18 22:53:09

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

1. 系统中存在多个任务(Task),每个任务有唯一的ID、执行时间(以毫秒为单位)和一组依赖任务ID列表。
2. 任务只能在其所有依赖任务成功完成后才能开始执行。
3. 任务应尽可能并行执行(利用多核CPU),但不能超过指定的最大并发线程数(例如:最大并发数为4)。
4. 每个任务执行期间可能会抛出异常,系统应捕获并记录异常,同时不阻塞其他任务的执行。
5. 系统需提供一个API用于注册任务,以及一个API用于启动调度。
6. 所有任务执行完成后,输出每个任务的开始时间、结束时间和执行结果(成功或失败)。

请设计并实现该调度系统的核心逻辑,并编写一个测试用例模拟以下任务关系图:

- TaskA(执行时间1000ms)无依赖
- TaskB(执行时间500ms)依赖TaskA
- TaskC(执行时间800ms)无依赖
- TaskD(执行时间300ms)依赖TaskB和TaskC
- 最大并发线程数为2

要求代码结构清晰、模块化良好,合理使用异步编程和线程同步机制,避免竞态条件。

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

上一篇: c#题例-2025-08-19 04:26:24

下一篇: c#题例-2025-08-18 17:19:45

精华推荐