ThreadPool est Exécuteur comme Polling est?
-
11-09-2019 - |
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)
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?