在每个请求之前添加等待时间的最佳方法是什么?

时间:2015-11-21 18:56:19

标签: java apache-httpclient-4.x

例如:

about.php

最好的方法是什么?非常感谢任何建议。

1 个答案:

答案 0 :(得分:0)

这取决于您是否至少需要等待一定时间。 Thread.sleep不保证在您提供的时间内作为参数休眠。 睡眠也可以中断,所以你需要考虑到这一点。

您可以这样做:

public static void waitAtLeast(long millis) {
    long startTime = System.nanoTime();
    while (true) {
        long now = System.nanoTime();
        long timeWaited = (now - startTime) / 1000000L;
        if (timeWaited > millis) {
            return;
        }
        try {
            Thread.sleep(millis - timeWaited);
        }
        catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            return;
        }
    }
}