【问题标题】:Best way to shut down program after certain time一定时间后关闭程序的最佳方法
【发布时间】:2012-08-21 16:33:40
【问题描述】:

我正在使用一个控制台应用程序,它扫描多个图像目录并重新调整大小,然后在图像超过一定大小时保存图像。一旦目录完成处理,日志就会被推送到 Web 服务页面。

此实用程序将在晚上运行给定的小时数,但必须在第二天正常办公时间之前关闭,无论它是否完成了当前文件夹的处理。

我知道关闭程序的 3 个选项:

  1. 通过计划任务设置“X 小时后关闭”:我对这个选项的担忧是它可能会在进程中间关闭程序,例如在保存图像之间并登录到服务器。
  2. 处理完每张图片后检查DateTime,如果在一定时间后关闭它
  3. 用户Timer,将tick 设置为几个小时,一旦调用tick 处理程序,然后将bool 标志设置为false。处理完每个图像后,检查 bool 标志,看看是否该关闭程序了。

与比较 DateTime 相比,计时器选项是否具有性能优势?

有没有更好的方法?也许我错过了什么?

【问题讨论】:

  • 在服务器的电源插头上使用这些 24 小时灯泡计时器之一。斯台普斯 6 美元。 ;)
  • 但是说真的,请选择选项 2。检查系统时间并没有真正影响性能。
  • @sudowned 这太荒唐了。我想说最好的选择是每天早上 5:00 雇一个看门人打扫房间——你知道他们会为你绊倒电源线:)

标签: c# application-shutdown


【解决方案1】:

在处理之间检查DateTime似乎是这里最好的方法。

即使您使用Timer,您也可能仍需要检查计时器事件触发的当前时间,以确保该退出。仅根据截止时间检查时间似乎是最简单的选择。

【讨论】:

  • 更不用说使用定时器可能出现的问题,例如计算机“意外”进入睡眠/休眠模式。
猜你喜欢
  • 2021-06-02
  • 2012-08-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-22
  • 1970-01-01
  • 2017-03-03
  • 1970-01-01
相关资源
最近更新 更多