在一个.NET winform应用程序中定期运行多个任务

时间:2009-11-05 02:55:04

标签: multithreading timer

我会在我的应用中定期执行几项任务,但是它们有不同的时间段,怎么做?

  1. 在单独的计时器线程中运行每个任务。

  2. 在同一个计时器线程中运行所有期间任务,但检查时间以查看是否应激活该任务。

  3. 你有更好的解决方案吗?

2 个答案:

答案 0 :(得分:1)

这主要取决于您必须运行多少任务。

对于两个或三个任务,为每个任务保留一个单独的计时器是有意义的,但是对于更多任务会变得难以处理。

如果有大量任务,我会使用单个计时器来检查任务列表,看看是否有任何任务准备好运行。那种添加任务的方式;只需将其添加到列表中。拥有任务列表还可以使任务轻松实现数据驱动。

答案 1 :(得分:0)

听起来你应该在自己的线程上执行每个任务。 IT将很容易配置时间和控制每个任务的启动/停止

如果任务应该在每个给定的时间增量执行,那么使用Timer控件是一个不错的选择。