设置要在特定时间触发的线程

时间:2014-01-18 23:25:22

标签: .net vb.net windows multithreading winforms

我正在重构一个vb.net windows窗体应用程序,我们有一堆内置的线程功能,一直运行,一旦不需要就处于睡眠状态。 由于我们的线程只需要在一天中的特定时间运行,因此我尝试获取一些在一天中的特定时间创建并调用线程的功能,根据我们定义的小时数列表进行设置。

所以,我对我希望它们如何运行有一个基本的想法,即让我们给出一个更具体的例子:

下午2点(欧洲时间14小时),我想创建线程,让它运行它的过程,一旦完成,关闭线程直到下午5点(当我想再次调用它时)。

如何在vb.net中实现这一目标?

顺便说一下,我正在使用.NET 4.0。

1 个答案:

答案 0 :(得分:0)

正如mrlucmorin所说,你必须确定准确度是多么精确,你可以设置一个计时器来开火(每分钟,2分钟,5分钟,甚至10分钟对精度有影响)虽然不是最佳的,但要检查一下系统时间,如果14:00:00在datetime.now加上1分钟和datetime.now之间,那么创建线程,在线程的末尾有代码关闭自己。

14:00:00和17:00:00可以保存在一个mysql数据库中,该数据库可以每小时检索一次,并使用一个变量来测试当计时器点击时是否有任何时间落在该1分钟增量之间 - 如果他们确实有它激活mysql数据库中的关联线程。