Geração de relatórios com threads

2 respostas
F

Galera to querendo fazer um sisteminha web q gera relatórios mas como são mais de 50 não posso executalos todos ao mesmo tempo e nem apenas 1, entaum queria gerar por exemplo 5 relatórios ao mesmo tempo e a medida q um desses 5 acabasse um novo começaria a ser gerado alguém tem noção de como fazer isso???

2 Respostas

ViniGodoy

Sim, use um FixedTheadPool.

Ele reserva um número fixo de threads para você, e você então pode submeter seus Runnables a ele. A medida que um runnable acaba, outro toma o lugar dele no pool. O código vai ficar mais ou menos assim (não testei):

List<Runnable> relatorios = getRelatorios(); //Pega os runnables que geram seus relatórios
ExecutorService threadPool = Executors.newFixedThreadPool(5);

for (Runnable relatorio : relatorios) {
   threadPool.execute(relatorio);
}
F

Vlw vou testar!!!

Criado 14 de junho de 2008
Ultima resposta 15 de jun. de 2008
Respostas 2
Participantes 2