ThreadPool относится к Исполнителю так же, как Опрос к?

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

Вопрос

Java Executor - это (насколько я понимаю) абстракция над концепцией ThreadPool - нечто, что может принимать и выполнять (execute) задачи.

Я ищу аналогичное исключение для концепции опроса.Мне нужно постоянно опрашивать (удалять из очереди) элементы из определенной очереди (которая не реализует 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