Ir para conteúdo
  • 0

[Resolvido] for


_Kurimatzu_

Pergunta

8 respostass a esta questão

Posts Recomendados

E se eu quiser fazer com várias threads para ser mais rápido?

 

Tem como?

ExecutorService Executor = Executors.newFixedThreadPool(3);
Executor.execute(new Runnable(){
	public void run(){
		for(int i = 1; i <= 1_000_000; i++){
			final int j = i;
			Executor.execute(new Runnable(){
				public void run(){
					System.out.println("Mensagem #" + j);
				}
			});
		}
	}
});
Link para o comentário
Compartilhar em outros sites

Ué, se tu for fazer apenas com 1 thread, é só fazer assim....

new Thread(() -> {
  for (...) {
    // ...
  }
}).start();

 
Ou, usando ThreadExecutor
 

// Coloca no escopo da classe, não do método.
ExecutorService executor = Executors.newSingleThreadExecutor();

// Ai lá aonde você precisa "processar" esse for...
executor.submit(() -> {
  for (...) {
    // ...
  }
});

Você também pode processar tudo isso paralelamente, procure por ForkJoinPool, veja se ajuda.
 
Se tiver usando java 7, use new Runnable() {} no lugar do lambda...

Link para o comentário
Compartilhar em outros sites

Ué, se tu for fazer apenas com 1 thread, é só fazer assim....

new Thread(() -> {
  for (...) {
    // ...
  }
}).start();

 

Ou, usando ThreadExecutor

 

// Coloca no escopo da classe, não do método.
ExecutorService executor = Executors.newSingleThreadExecutor();

// Ai lá aonde você precisa "processar" esse for...
executor.submit(() -> {
  for (...) {
    // ...
  }
});

Você também pode processar tudo isso paralelamente, procure por ForkJoinPool, veja se ajuda.

 

Se tiver usando java 7, use new Runnable() {} no lugar do lambda...

E se eu quiser fazer com várias threads para ser mais rápido?

 

Tem como?

Link para o comentário
Compartilhar em outros sites

ExecutorService Executor = Executors.newFixedThreadPool(3);
Executor.execute(new Runnable(){
	public void run(){
		for(int i = 1; i <= 1_000_000; i++){
			final int j = i;
			Executor.execute(new Runnable(){
				public void run(){
					System.out.println("Mensagem #" + j);
				}
			});
		}
	}
});
ExecutorService Executor = Executors.newFixedThreadPool(3);

3 Threads?

Link para o comentário
Compartilhar em outros sites

Tem como travar o código até q isso seja processado?

 

Tipo, to usando ele nem processa o for, passa direto.

você quer que o próximo código seja processado só depois que o for acabar?
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...