相关疑难解决方法(0)

Java ScheduledExecutorService BAD Precision

您好,我已经编写了一个简单的程序来测试ScduledExecutorService.schedule()函数的精度.

测试设置延迟并检查所需延迟和有效结果之间的有效距离.

该测试已在运行Linux 3.8 x86_64的i7机器上执行,包括OpenJDK 1.7和Oracle JDK 1.7

测试的结果非常糟糕,这里有一个列表,显示假定和有效延迟之间的平均增量:


传说:

  • 睡眠(ms):所需的延迟(以毫秒为单位)
  • deltaAVG(ms):以毫秒为单位获得的所需和有效延迟之间的平均差异
  • deltaAVG_PERC:所需/有效的错误百分比
  • delta MIN/MAX:获得的所需和有效延迟之间的最小/最大差异

Sleep(ms): 0.010 deltaAVG(ms): 0.029 deltaAVG_PERC: 0289.6 % delta MIN/MAX (ms): 0.029/0.029
Sleep(ms): 0.020 deltaAVG(ms): 0.061 deltaAVG_PERC: 0299.3 % delta MIN/MAX (ms): 0.006/4.578
Sleep(ms): 0.030 deltaAVG(ms): 0.066 deltaAVG_PERC: 0221.1 % delta MIN/MAX (ms): 0.009/1.639
Sleep(ms): 0.040 deltaAVG(ms): 0.066 deltaAVG_PERC: 0165.3 % delta MIN/MAX (ms): 0.010/0.445
Sleep(ms): 0.050 deltaAVG(ms): 0.069 deltaAVG_PERC: 0138.0 % delta MIN/MAX (ms): 0.006/0.370
Sleep(ms): 0.060 deltaAVG(ms): 0.067 deltaAVG_PERC: 0111.8 …
Run Code Online (Sandbox Code Playgroud)

java time-precision scheduledexecutorservice

5
推荐指数
2
解决办法
1315
查看次数