[Resolvido]Thread duvida

3 respostas
V

eu to com uma duvida na cabeça e ta tenso, de tirar esse nó

imagine a situação problema

tenho 100k itens para trabalhar mas cada item tenho que pegar pelo internet (ai já viu né)

o trabalho com cada um é insignificante, o problema é a conexão

então eu penso vou criar a cada execução uma Thread mas 100k em Thread é tenso, meu pc nem ia rodar se eu fizer isso,

então teria que fazer por exemplo 10 em 10 o ideal seria :
Ter 10 Thread funcionando quando uma terminar uma nova deve ser criado logo apos

como vocês imaginariam em fazer um sistema deste tipo ?

3 Respostas

ViniGodoy

a) Crie um Runnable para fazer a tarefa;
b) Use um FixedThreadPoolExecutor para disparar esses runnables de 10 em 10.

ExecutorService executor = Executors.newFixedThreadPool(10); for (MeuRunnable tarefa : tarefas) { executor.execute(tarefa); }

O método execute não trava na décima tarefa. Ele vai enfileirar todas e rodar de 10 em 10. Seria bom adicionar em seu Runnable algum evento para avisar que uma tarefa acabou.

V

Putz cara, sabia que tinha que haver uma forma assim em java, VLW mesmo era exatamente isso que eu tava procurando xD

V

.

Criado 29 de junho de 2013
Ultima resposta 1 de jul. de 2013
Respostas 3
Participantes 2