有没有一种方法可以使时间在Linux中更快地过去

时间:2019-02-28 20:29:42

标签: linux time

我不确定在没有配置NTP服务器之类的Linux中计时如何工作。

我想知道是否有办法让我在Linux中更快地打发时间。例如,我想花1秒钟比正常速度快10000倍。

为澄清起见,我不想像重置时钟那样使时间跳动,我想提高滴答速度。

1 个答案:

答案 0 :(得分:1)

仿真和尽可能快地重放传入的数据或事件通常需要此功能。

人们解决此问题的方法是他们有一个事件循环,例如libeventboost::asio。当前时间是从事件循环中获得的(例如,返回epoll的时间)并存储在事件循环变量 current time 中。而不使用gettimeofdayclock_gettime,而是从该当前时间变量中读取时间。所有计时器均由事件循环当前时间驱动。

模拟/重播时,将为事件循环当前时间分配下一个事件的时间戳,从而消除事件之间的持续时间,并尽可能快地重播事件。而且您的计时器仍可以像在实时事件中一样在事件之间工作并触发,而不会造成延迟。为了使此功能起作用,保存的事件流中的重放当然必须包含每个事件的时间戳。