这个问题主要是针对教育的。我只是对为什么感兴趣。我正在使用此处的程序,但对其进行了一些修改:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
long ticks = DateTime.Now.Ticks;
while(true)
{
if (ticks != DateTime.Now.Ticks)
{
long newTicks = DateTime.Now.Ticks;
Console.WriteLine(newTicks - ticks);
ticks = newTicks;
}
else
{
Console.WriteLine("same");
}
}
}
}
}
结果:
600 美元联想 Edge 11、英特尔奔腾 U5400、Windows 7 家庭基础版
same
same
same
same
same
same
same
10000
same
same
10000 美元 HP DL360p Gen8 2 * Xeon E5-2640,Windows Server 2008 R2
same
same
same
same
same
same
same
156001
same
same
same
same
same
same
same
same
same
same
same
same
所以廉价笔记本上的 DateTime 精度为 10 ms,昂贵的服务器硬件精度为 156 ms。
为什么?我猜可能 Windows 7 比 Windows Server 2008 R2 更“精确”,但这只是我的猜测。在两台计算机上都安装了最新的 .NET 框架,所有更新和所有 Windows 更新都已安装。