我用  TimeUnit.NANOSECONDS.sleep(1);想实现纳秒级的计时, 貌似并不正确
求大侠指点,谢谢

解决方案 »

  1.   

    在我们使用的一般操作系统上,根本无法实现这种精确的sleep假使语言本身确实是精确的,但你不知道操作系统什么时候会再次给该程序分配CPU时间片另外,jvm的sleep时间是可以有一个下限的,就是小于多少ms,就一直使用某个固定的ms数,如10ms,不同的jvm实现可能不同如果要精确计时,可能需要实时操作系统以及支持实时的语言
      

  2.   

    TimeUnit.NANOSECONDS.sleep(1);再一点,计时操作系统也没问题,这句也没问题,你怎么知道不精确呢?打印前后的时间么,调用一下System.currentTimemill.....本身都可能要耗时好几百纳秒,你拿什么来测量的?