用于在 C# 中调度任务的 TaskScheduler 与 Timer:何时使用?

TaskScheduler vs Timer for scheduling tasks in C#: When to use?

最近正在研究和尝试C#,关于C#中的任务调度,我有一些困惑需要解决。

根据我的了解,我了解到C#中的任务调度可以通过使用TimerTaskScheduler来完成。

我关注了这些文章:create task scheduler using TaskScheduler classcreate task scheduler using Timers

所以我的困惑是什么时候我们应该真正使用 TimerTaskScheduler 来安排任务?

谢谢!

忘记 C# 中的 TaskScheduler class,它与 任务 线程池上安排的方式有关,但不要与 Windows Task Scheduler 混淆,运行 的代码在 Windows 操作系统上并且不可知到它所用的语言。

所以你剩下的是

  1. Timers(不太适合长时间精确调度)。
  2. Tasks 有延迟(需要大量工作才能准确地创建实际时间表)。
  3. 其他奇特的东西,例如 Reactive Extensions(与上面类似)。
  4. 作业调度框架(如quartz.net),它为您提供了将任务调度到 运行 一次或在任何时间范围内定期执行的所有工具以及您希望在 C# 中使用的任何类型的日程安排。

对于初学者来说,计时器可能是您想要的地方。