c#题例-2025-08-18 22:53:09
日期: 2025-08-18 分类: AI写作 8次阅读
编写一个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
标签:AI写作
上一篇:无
精华推荐