关于使用计时器的建议

时间:2009-09-02 11:29:41

标签: c# timer

我正在开展一个项目,为一家小型本地公司的某些软件自动化校准测试。

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

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

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

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

我知道如何在Cobol中做到这一点,但是对C#不熟悉我很高兴得到任何建议。

欢迎任何建议。

1 个答案:

答案 0 :(得分:0)

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

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