我有一个应用程序需要在白天的某些时间发起几个事件 - 时间都由用户定义.我可以想到几种方法,但没有一种方法可以做得太好.时间不一定是特别高的分辨率 - 每一分钟左右都很好.
我的想法:
当应用程序启动时,所有时间都会读取并启动计时器,这将在适当的时间打勾
关闭计时器,每分钟检查'当前事件'
为任何更好的解决方案.
显然,当您更改事件集或更改现有事件的时间时,您可能需要重置计时器以使其更早触发。通常稍后将其重新启动是没有意义的 - 您也可以让它关闭而不执行任何操作。如果您将计时器运行时间的上限设置为一分钟(或者只有一个 1 分钟循环计时器),那么您无需重置即可获得 1 分钟精度。这基本上就是你的选择2。
可以说,您应该使用现有的框架,而不是自行构建,但我不懂 C#,所以我不知道有什么可用的。我通常对设置数十个计时器的想法有点谨慎,因为某些环境不支持它(或者不能很好地支持它)。因此这个方案只需要一个。我不知道 C# 在这方面是否有任何问题,但如果需要,这个方案可以很容易地安排使用 O(1) RAM,这是无可比拟的。
| 归档时间: |
|
| 查看次数: |
4265 次 |
| 最近记录: |