0

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

4

1 回答 1

1

一些选项:

  1. 简单 EXE 的 Windows NT 计划任务在功能和时间逻辑分离的许多场景中完成这项工作。
  2. 带有计时器的 Windows 服务是另一种选择。不知道为什么计时器不适合你。请注意,您需要对服务有 2 个输入.. RunImmediatelyOnStartup 和 AbsoluteTimeOfNextRun.. 基于此,您可以避免启动时间不匹配问题。
  3. 带有计时器的普通 EXE 是另一种选择。
  4. 带睡眠的普通 EXE 是另一种选择。

简而言之,计时器有助于避免不断的轮询。睡眠可以让你调节你的轮询。比可能会影响 CPU 的疯狂 while 循环要好。

于 2014-05-21T04:01:59.490 回答