ThreadPoolのは、ポーリングにあるようにエグゼキュータするのですか?

StackOverflow https://stackoverflow.com/questions/1090705

質問

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();

おそらくあなたは、私はそれはあなたがやろうとしている?です正確に何を非常にわからないようにあなたの質問を言い換えるする必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top