循环中的Thread.sleep无法正常工作,还有其他选择吗?

时间:2014-05-27 23:21:35

标签: java multithreading sleep

在循环中被告知thread.sleep()是不允许的,但我需要使用它,因为我正在调用每秒有限制的套接字。

还有其他方式吗?

for (int i=0; i < 100; i++) {
    try {
        Thread.sleep(300);
    } catch (InterruptedException ex) {
        Logger.getLogger(bulkWhoIsCommand.class.getName()).log(
                Level.SEVERE, null, ex);
    }
}

1 个答案:

答案 0 :(得分:3)

您可以使用poll的{​​{1}}方法:

BlockingQueue

这种技术的奇妙之处在于,如果您决定这样做,您可以在队列中戳一些内容以中止暂停。