Domanda

Sto cercando di ottimizzare un (infinito) algoritmo di calcolo.

Ho una somma infinte per calcolare (Summ_ {n-> infinity} (....)) La mia idea era quella di creare più thread utilizzando il futuro <> costrutto, quindi combinare i risultati intermedi insieme. Il mio problema hoewer è che ho bisogno di una certa precisione. Quindi ho bisogno di calcolare costantemente il risultato corrente, mentre altri thread mantengono il calcolo.

La mia domanda è: C'è una sorta di coda di risultato in cui ogni filo finito può mettere i suoi risultati in, mentre un filo conduttore in grado di ricevere i risultati e poi o lascia il calcolo continua o chiudere l'intera ExecutorService?

Qualsiasi aiuto sarebbe molto apprezzato! Grazie!

È stato utile?

Soluzione

Una coda di blocco forse ( http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/BlockingQueue.html )? Il filo conduttore può bloccare su che fino risultato parziale arriva e quindi aggiornare totale.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top