2009-09-02 45 views
1

我正在开发一个项目,以便在当地一家小公司自动化一些usints的校准测试。关于使用定时器的建议

部分测试需要我在0,5,10,15,20和30分钟时发出3条命令来检查稳定性。

但是,我也需要每分钟执行这些命令10秒钟。这10秒钟可以在每分钟内的任何地方(第1 10秒,最后10秒,中等10秒等),所以他们不需要与5,10,15分钟的任何检查冲突。

我可以简单地设置一些计时器来做这些或有更好的方法吗?我应该只使用一个计时器进行5,10,20分钟的测试,另一个进行10秒的测试,还是应该为每个计时器分别使用一个计时器?

另外,是否有延迟命令停止处理5秒?而不是创建一个等待特定消息处理的循环?

我知道我将如何在Cobol中做到这一点,但对C#而言,我很高兴能够接受任何建议。

任何建议是最受欢迎的。

+0

我在想什么。 当然,我可以设置10秒计时器,并检查间隔为0,5,10分钟等,然后存储该值。 愚蠢的男孩。 它是一个长期的项目:) – George 2009-09-02 11:58:43

回答

0

我会使用两个System.Timers.Timer对象。他们的事件是在单独的线程中提出的,因此您不必担心这些单独的检查发生冲突。

另一种方法是只有一个间隔较小的计时器,并在事件中检查你必须做什么(如果从最后一分钟检查时间超过1分钟,然后进入10秒命令集,如果5自上次稳定性检查以来已经过去了数分钟,然后就这么做了)。这将确保在任何时候只执行一组检查/命令,并且如果两者冲突,则两者中的一个将被延迟直到下一次事件发生。

+0

是的,我喜欢你的第二个想法。就我而言,这使得它更易于管理。我会给它一个bash。 谢谢大家的所有想法。 – George 2009-09-02 11:55:01