bob*_*205 4 java multithreading sleep
我经常发现需要经常等到下一秒才能完成下一个系列操作.这大大减慢了单元测试的速度.所以这是我的问题:
而不是做Thread.sleep(1000)是否有更快更有效的睡眠方式,直到第二次更改到下一秒?
说时间是1:00:89
我睡了一秒钟到1:01:89
当时间达到1:01或尽可能接近时,我宁愿继续执行.
这合理吗?^ _ ^
Jon*_*eet 11
好吧,你可以这样做:
long millisWithinSecond = System.currentTimeMillis() % 1000;
Thread.sleep(1000 - millisWithinSecond);
Run Code Online (Sandbox Code Playgroud)
它会不准确,请注意 - 您可能需要迭代,这有点乱.
但是,最好不要睡觉.你能注入一个"睡眠服务",让你在测试中假装睡觉吗?(我很少需要这样做,但我经常注入一个假时钟来报告不同的时间.)在生产代码中睡觉的目的是什么?
| 归档时间: |
|
| 查看次数: |
849 次 |
| 最近记录: |