tyrone的专栏

开源组件与复用

不要使用Windows的系统时间做数据排序

Windows系统时间并不准确。

除了机器本身的电池有问题之外,还有因为其他原因导致系统时间变慢,甚至倒退。

我做了一个WindowsXP的实验, 编写了一个计时器,每个10微秒写一次当前系统时间的log,打开计时器

然后在机器中寻找有大量Office文档的目录,越多越大越好。

全选并打开,Windows会全部打开。打开完毕后,察看log:

2006-5-26 10:19:40.101,
2006-5-26 10:19:40.201,
2006-5-26 10:19:40.301,
2006-5-26 10:19:40.401,
2006-5-26 10:19:40.70,
2006-5-26 10:19:40.170,
2006-5-26 10:19:40.270,
2006-5-26 10:19:40.370,

 发现系统时间倒退331微秒。

并不是每次都能测出这个结果。但肯定的是,

使用精确到秒甚至微秒的系统时间排序是不明智的。

参考

微软KB网站:http://support.microsoft.com/kb/q189706/

阅读更多
个人分类: 微软技术
上一篇C#求素数
下一篇软件职业的天与地
想对作者说点什么? 我来说一句

C#实现 用时间做序号

2010年11月23日 431B 下载

ClockInterval

2017年09月13日 717KB 下载

没有更多推荐了,返回首页

关闭
关闭