Gus*_*ave 9 java java-8 java-time
给定一个Clock,一个Instant和当前的Thread,Java库中是否有一些(实用)方法使当前线程休眠直到给定时钟到达瞬间?
就像是
public static void sleepUntil(Instant instant, Clock clock)
throws InterruptedException;
Run Code Online (Sandbox Code Playgroud)
?
我在测试环境中需要这个,我正在使用自定义减速时钟.
我知道它很容易实现,但我更喜欢标准的解决方案(如果可用的话)(但到目前为止还没有找到).
Tun*_*aki -2
我能想到的唯一方法是创建一个 while 循环,并在时钟到达给定时刻时中断它。
public static void sleepUntil(Instant instant, Clock clock) throws InterruptedException {
while (clock.millis() < instant.toEpochMilli()) {
Thread.sleep(1000);
}
}
Run Code Online (Sandbox Code Playgroud)
对于固定时钟,这将永远循环。
| 归档时间: |
|
| 查看次数: |
2991 次 |
| 最近记录: |