Young87

SmartCat's Blog

So happy to code my life!

当前位置:首页 >AI写作

c#题例-2025-08-30 06:59:45

编写一个C#程序,模拟一个简单的任务调度系统,满足以下要求:

1. 系统中包含三种类型的任务:
- **即时任务**(Immediate):必须按提交顺序立即执行,不能被打断。
- **延时任务**(Delayed):在提交后至少等待指定毫秒数才能执行。
- **周期任务**(Periodic):首次执行需在指定延迟后,之后每隔固定时间重复执行。

2. 所有任务都通过一个共享的后台线程顺序执行(即任务是串行执行的,不是并行的)。

3. 系统应保证:
- 即时任务执行时不被其他任务中断。
- 延时和周期任务之间不能干扰即时任务的执行顺序。

4. 提供一个接口 `ITaskScheduler`,包含如下方法:
- `void ScheduleImmediate(Action task)`
- `void ScheduleDelayed(Action task, int delayMs)`
- `void SchedulePeriodic(Action task, int initialDelayMs, int periodMs)`
- `void Shutdown()`:等待所有已提交任务执行完毕后关闭调度器。

5. 实现需考虑时间精度、资源占用、任务执行异常处理等生产级细节。

请设计并实现该调度系统,并编写测试代码验证其正确性。

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

上一篇: c#题例-2025-08-30 12:33:01

下一篇: c#题例-2025-08-30 01:26:25

精华推荐