更多计时器更少的任务或更少的计时器与更多的任务

时间:2014-12-03 07:03:31

标签: c# multithreading timer

我的问题如下。有什么更好的方法,如果我使用更少Timers更少的任务,或者我需要用更多任务定义更少的Timers?通过哪种解决方案,我可以获得更好的性能?

谢谢!

1 个答案:

答案 0 :(得分:1)

在您的特定情况下,您需要考虑两件事 1.每个计时器将以不同的线程运行 2.与任务相比,您是否需要更多线程?

最佳做法如下:
1。使用Quartz scheduler,这样您就不需要专门设置每个计时器的频率。
2。将任务定义为作业并使用cron表达式对其进行计划。
3。使用TPL进行异步操作。 TPL将允许自动创建所需的线程(如果您的任务很重)。您还可以使用await-async在单独的线程上封送您的任务,而无需停止主线程。