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)

È stato utile?

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
scroll top