ThreadPool è quello di Esecutore come Polling?
-
11-09-2019 - |
Domanda
Java Esecutore è (a quanto ho capito) un'astrazione oltre il ThreadPool concetto di qualcosa che può accettazione e l'esecuzione (execute) attività.
Sto cercando una simile eccezione per il Polling concetto.Ho bisogno continuamente di sondaggio (dequeue) gli elementi di una Coda specifica (che non implementare BlockingQueue
), la loro esecuzione e il sonno, e ripetere tutto questo fino a quando l'arresto.
C'è un ready-made di astrazione o devo scrivere qualcosa di mio?
(Suggerimenti di un titolo migliore sono i benvenuti)
Soluzione
Polling è 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();
Forse avete bisogno di riformulare la tua domanda, come io non sono abbastanza sicuri di esattamente che cosa è che stai cercando di fare?
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow