Java 的 Executor 是(据我所知)对 ThreadPool 概念的抽象——可以接受和执行(执行)任务的东西。
我正在为 Polling 概念寻找类似的例外。我需要不断地从特定队列(未实现 BlockingQueue
)中轮询(出列)项目,执行它们并休眠,然后重复所有这些直到关闭。
有现成的抽象还是我应该自己写一些东西?
(欢迎提出更好的标题)
Java 的 Executor 是(据我所知)对 ThreadPool 概念的抽象——可以接受和执行(执行)任务的东西。
我正在为 Polling 概念寻找类似的例外。我需要不断地从特定队列(未实现 BlockingQueue
)中轮询(出列)项目,执行它们并休眠,然后重复所有这些直到关闭。
有现成的抽象还是我应该自己写一些东西?
(欢迎提出更好的标题)
投票很简单:
Thread t = new Thread(new Runnable() {
public void run() {
try {
while (!t.isInterrupted()) {
Object item;
while ((item = queue.take()) == null) {//does not block
synchronized (lock) { lock.wait(1000L) } //spin on a lock
}
//item is not null
handle(item);
}
} catch (InterruptedException e) { }
}
});
t.start();
也许您需要重新表述您的问题,因为我不太确定您到底要做什么?