在我的 .net windows 服务中,当我的计时器过去并且我的主要方法被调用时,将计时器置于睡眠模式是最佳做法吗?
这是为了以防我的 main 方法运行时间过长,并且在之前的调用 main 方法完成执行之前计时器已经过去。
在我的 .net windows 服务中,当我的计时器过去并且我的主要方法被调用时,将计时器置于睡眠模式是最佳做法吗?
这是为了以防我的 main 方法运行时间过长,并且在之前的调用 main 方法完成执行之前计时器已经过去。
它并不是真正的“主要方法”,但我想您只是指由于经过的事件而被调用的方法。这取决于。您需要它在每个间隔运行还是只需要在每个间隔启动进程,如果它已经在运行,不要做任何事情。
如果是后者,正如我所怀疑的那样,既然你在问这个,那么可以继续并停止你的计时器作为经过事件处理程序中的第一条语句。当您完成“主要方法”中的所有其他内容后,再次启动计时器。
除了 BobbyShaftoe 提到的内容之外,我想建议使用 try/catch/finally 块并将重新启动计时器的代码放在 finally 块中。因此,如果发生异常,您的计时器仍将重新启动并稍后运行。除非您希望它无限期地停止。