2014-12-03 36 views
0

我的问题如下。如果我用更少的任务使用更多的Timers或者我需要定义更少的Timers以及更多的任务,那么更好的方法是什么?使用哪种解决方案可以实现更好的性能?更多计时器任务更少或任务更少的计时器

谢谢!

+2

没有人能给你一个很好的答案只有这个信息。你想用计时器做什么?什么是任务? – Vajura 2014-12-03 07:05:38

+0

如果你想知道哪些_performs_更好,然后测试和配置文件。没有人能告诉你,尤其是考虑到缺乏实际的代码示例,但你自己的电脑可以。 – 2014-12-03 07:20:41

+0

对不起,您对!所以我的主要任务是开发一个应用程序,它可以通过TCP不断从其他设备收集数据(因此我的应用程序是一个TCP客户端),同时我也从数据库收集数据。没关系,但所有来自数据库的记录都需要根据某些条件进行扫描。 所以在这种情况下,我想知道哪种方法对我更好。 – Gabor 2014-12-03 07:23:53

回答

1

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

最佳实践可以如下:
1.使用Quartz scheduler,这样就不需要设置每个定时器的频率特别。
2.将任务定义为作业并使用cron-expressions对其进行排定。
3.使用TPL进行异步操作。 TPL将允许自动创建尽可能多的线程(如果您的任务很重)。您也可以使用await-async在单独的线程上编组您的任务,而不必停止您的主线程。