Asp.net 时间漂移。。。。。。。。。。。。
Asp.net 时间漂移
-_-!!!
------------------------------------我是华丽丽的分隔线---------------------------------
描述:一定时间执行一个[时间任务]
如:每隔 1 小时 执行 从 01:00 到 02:00 ,下次就是02:01 到 03:00 记日志
间隔执行时间 [每隔一小时]
取值时间范围 [01:00 到 02:00]
一句话就是一段时间执行确[ 当前时间 减去 一段时间 ]
------------------------------------我是华丽丽的分隔线---------------------------------
伪代码:
位置 A: ...代码....
位置 B: {
string now = DateTime.Now.ToString("yyyy-MM-dd hh:mm");
Save();//操作,假设耗时5s
}
位置 C: 保存上次更新时间now
解法1: 下次直接取 上次保存的 now 和 系统当前时间 做为范围。
问题:丢取值时间范围数据 假设上次是 10:00 下次不会是 11:00,而可能是11:02,因为 位置A要耗时
解法2: 当前值不再是 系统时间,而是 上次更新时间 + 间隔时间 (不考虑失败的情部况)。这样没有丢数据的危险。可是:假设开始时间是 11:00 代码执行到 B 位置 可能时间11:02 ,再下次可能是12:04秒,几天或者几月后,可能存在今天的日期却在调用昨天的日期范围数据。时间漂移?-_-!!![标题党!]
------------------------------------我是华丽丽的分隔线---------------------------------
我的逻辑是否正确?如果正确期待第3种解法,第N种解法
------------------------------------我是华丽丽的分隔线---------------------------------
谢谢