相关疑难解决方法(0)

Java Thread.sleep最短时间

所述TimeUnit.sleep(长超时)文档描述了它的参数这样的:

超时 - 最短睡眠时间.

但是,我发现 - 至少在带有Java 8更新141的Windows 7 64位上 - 线程的睡眠时间通常低于最小值:

public static void main(String[] args) throws InterruptedException {
    final long from = TimeUnit.MILLISECONDS.toNanos(100);
    final long to   = TimeUnit.MILLISECONDS.toNanos(1000);
    final long step = TimeUnit.MILLISECONDS.toNanos(100);
    for (long requestedSleepDuration = from; requestedSleepDuration < to; requestedSleepDuration += step) {
        long sleepStartTime = System.nanoTime();
        TimeUnit.NANOSECONDS.sleep(requestedSleepDuration);
        long sleepEndTime = System.nanoTime();
        System.out.printf(
                "requested=%9d  actual=%9d  %s%n",
                requestedSleepDuration,
                sleepEndTime - sleepStartTime,
                (sleepEndTime - sleepStartTime >= requestedSleepDuration ? "OK" : " Slept less than …
Run Code Online (Sandbox Code Playgroud)

java thread-sleep

6
推荐指数
1
解决办法
954
查看次数

标签 统计

java ×1

thread-sleep ×1