当前位置: 首页 > 知识库问答 >
问题:

.NET中最精确的计时器?

李成礼
2023-03-14

运行以下(略为伪)代码会产生以下结果。我震惊于定时器是如此的精确(每ticke,增益约14ms)。

外面还有更准确的吗?

void Main()
{
   var timer = new System.Threading.Timer(TimerCallback, null, 0, 1000);
}

void TimerCallback(object state)
{
   Debug.WriteLine(DateTime.Now.ToString("ss.ffff"));
}

Sample Output:
...
11.9109
12.9190
13.9331
14.9491
15.9632
16.9752
17.9893
19.0043
20.0164
21.0305
22.0445
23.0586
24.0726
25.0867
26.1008
27.1148
28.1289
29.1429
30.1570
31.1710
32.1851

共有1个答案

戴正阳
2023-03-14

对于精确的时间测量,您需要使用Stopwatch类MSDN

 类似资料:
  • 问题内容: 我正在安排一些事情,这些事情我不能只是冗长的循环。而且我需要给它们计时以了解完成它们需要多长时间,但是看来计时器在Java中的精度为15-16毫秒?我该如何解决? 问题答案: 您是否尝试过使用System.nanoTime()? 从Javadoc: 返回最精确的可用系统计时器的当前值,以纳秒为单位。 此方法只能用于测量经过的时间,与系统或挂钟时间的任何其他概念无关。返回的值表示自某个固

  • 本文向大家介绍javascript实现倒计时(精确到秒),包括了javascript实现倒计时(精确到秒)的使用技巧和注意事项,需要的朋友参考一下 代码相当简单实用,这里就不多废话了,小伙伴们简单看下就能明白 以上所述就是本文的全部内容了,希望大家能够喜欢。

  • 问题内容: 我遇到了一个问题,我正在开发一个应该能够进行一些数学计算的应用程序。这些计算必须是准确的(或者显然不是错误的) 但是这个简单的代码 给我一个错误的结果c不是预期的0.003048而是0.0030480000000000004这显然是错误的。 第二个代码片段给出了正确的结果。 我知道在使用计算机进行计算时,并不是所有的浮点运算都是精确的,但是我不知道如何解决这个问题。 提前致谢! 路德维

  • 问题内容: 我试图确定双精度的最大精度是多少。在此链接的可接受答案的注释中,Java中的double保持精度 @PeterLawrey将max precision设置为15。 您如何确定呢? 问题答案: @PeterLawrey表示最大精度为15。 实际上,这根本不是他所说的。他说的是: 双精度有15个小数位 他错了。它们的精度为15个十进制 数字 。 任何数字中的小数位数由其对数10的对数给出。

  • 我试图确定double的最大精度是多少。在这个链接中接受的答案的注释中,Java中的Retain precision with double@PeterLawrey声明max precision In 15。 你如何确定这一点?

  • 我正在编写一个代码,希望在计时时有一定的精度。我使用机器人做一些动作,然后使用,以便在操作之间运行。但我并没有得到最好的结果,因为当我搜索它时,睡眠不准确。实现这一目标的最佳方式是什么?我的意思是模拟线程。用其他方法睡眠。