您好,我已经编写了一个简单的程序来测试ScduledExecutorService.schedule()函数的精度.
测试设置延迟并检查所需延迟和有效结果之间的有效距离.
该测试已在运行Linux 3.8 x86_64的i7机器上执行,包括OpenJDK 1.7和Oracle JDK 1.7
测试的结果非常糟糕,这里有一个列表,显示假定和有效延迟之间的平均增量:
传说:
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)