我有一个程序以图表的形式显示一些信息。信息每个月都会更新,所以我需要每月检索一次信息。
我想过有一个线程可以睡几个月,但我不知道这是否可行。有人可以提出更好的方法吗?
谢谢!
我有一个程序以图表的形式显示一些信息。信息每个月都会更新,所以我需要每月检索一次信息。
我想过有一个线程可以睡几个月,但我不知道这是否可行。有人可以提出更好的方法吗?
谢谢!
您可以将上次访问的日期存储在文件/表格中,然后每天在程序启动时轮询文件/表格。如果超过 1 个月(30/31 天),则重新获取您的数据。
使用DateTime
.NET 中的类来帮助您。也可以DateTime.Subtract()
在两个日期之间使用。
我想知道你想在这里做什么。听起来……很奇怪。
那么,信息从何而来?数据库?如果是这样,您可以在正常提取数据时计算月份的值吗?或者,您可以在 SQL 代理中运行一项作业,该作业每月使用计算值更新一次表。
真正使用 Windows,您可以设置具有类似概念的计划任务。它每月运行一次并提取新数据。
但基本上,关于您正在尝试做的事情的更多信息可能会帮助我们为您提供更好的答案..
我已经看到在启动时启动线程并计算直到下一次读取时间的时间的实现。在线程中,它等待发出关闭事件信号(由应用程序触发),超时值是先前计算的时间。一旦等待完成,如果不是由于关闭事件,则读取数据。
但是,我见过的更常见的实现是使用计划任务将数据加载到应用程序。尽管这将比线程版本花费更长的时间来实现,但它应该提供更强大的解决方案。