Question

L'Exécuteur de Java est (pour autant que je le comprends) une abstraction sur le concept ThreadPool -. Quelque chose qui peut accepter et à exécuter (exécution) tâches

Je cherche une exception similaire pour le concept de relève. Je dois sondage en continu (dequeue) éléments sur une file d'attente spécifique (qui ne met pas en œuvre BlockingQueue), les exécuter et le sommeil, et répéter tout cela jusqu'à l'arrêt.

Y at-il un ready-made abstraction ou devrais-je écrire quelque chose sur mon propre?

(Suggestions d'un meilleur titre sont les bienvenus)

Était-ce utile?

La solution

Polling est facile:

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

Peut-être que vous avez besoin de reformuler votre question car je ne suis pas tout à fait sûr exactement ce que vous essayez de faire?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top