许多软件(包括低级系统调用等)依赖于获取并与正确的时间正确同步以便正常运行。我想知道是否可以实施更好的方法以避免这种依赖性?...例如依靠硬件生成的固定周期(滴答)等。
答案 0 :(得分:2)
可以在不依赖全局同步时间的情况下编写软件。如果您想了解更多信息,请阅读其中一本有关分布式编程的书籍,例如:http://www.amazon.com/Distributed-Systems-Algorithmic-Approach-Information/dp/1584885645/ref=sr_1_12?ie=UTF8&qid=1341166029&sr=8-12&keywords=distributed+systems
如果您没有时间阅读书籍,可以查看矢量时钟:http://en.wikipedia.org/wiki/Vector_clock
答案 1 :(得分:-1)
一个。当前的闰秒故障是由于内核错误造成的。没什么。
B中。大多数节目都不关心时间。
℃。有一些程序关心时间,但不是实际的全球时间,只是一些本地参考。这里的合同非常简单伪代码:
long timeFirst = System.GetTime;
long timeSecond = System.GetTime;
断言(timeFirst< = timeSecond);
d。是的,是一些程序/子系统,其中正确的全球时间是必不可少的,它们通常是针对问题做好准备的。 (例如:你的GPS接收器会进行大量的计算,找出正确的时间,如果它失败了,它就不会显示你在月球上,但会给你一些很好的错误信息。)
总结一下:在最近的程序/系统中正确处理时间。我们刚刚遇到了一个内核错误。不要做一些NTP-IS-INHERENTLY-EVIL类型的炒作。 :)