在特定时间内调用方法或操作

时间:2014-05-21 03:55:14

标签: c# thread-sleep system.timers.timer

我的操作需要每天上午12点运行一次。我通过使用匹配DateTime.Now.Hour == someValue;的条件检查约束来实现相同的功能但是,我不希望while循环运行n次只进行一次操作。我让线程睡了但是我仍然对解决方案感到满意。尝试与计时器也将无法解决。我们是否有任何称为时钟或时间的概念,以及在相应时间调用特定动作的事件。请澄清。

1 个答案:

答案 0 :(得分:1)

一些选项:

  1. Windows NT简单EXE的计划任务在功能和时间逻辑分离的许多场景中完成工作。
  2. 带有计时器的Windows服务是另一种选择。不知道为什么计时器不适合你。注意,您需要为服务提供2个输入.. RunImmediatelyOnStartup和AbsoluteTimeOfNextRun ..基于此可以避免启动时不匹配问题。
  3. 带定时器的普通EXE是另一种选择。
  4. 睡眠正常的EXE是另一种选择。
  5. 简而言之,计时器有助于避免不断的轮询......而睡眠可以让你调节你的民意调查。比疯狂的while循环更好,这可能会影响CPU。