ThreadPoolのは、ポーリングにあるようにエグゼキュータするのですか?
-
11-09-2019 - |
質問
Javaのエグゼキュータは(私の知る限りそれを理解)ThreadPoolのコンセプトの上に抽象化したものです - 。受け入れ、(実行)タスクを実行することができる何かを
私は、ポーリングのコンセプトのための同様の例外を探しています。私は継続的に特定のキューのうち、(デキュー)の項目をポーリングする必要があり、(<全角> の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();
おそらくあなたは、私はそれはあなたがやろうとしている?です正確に何を非常にわからないようにあなたの質問を言い換えるする必要があります。
所属していません StackOverflow