Simultaneidade Java - Interface do Executor
Uma interface java.util.concurrent.Executor é uma interface simples para suportar o lançamento de novas tarefas.
Métodos ExecutorService
Sr. Não. | Método e Descrição |
---|---|
1 | void execute(Runnable command) Executa o comando fornecido em algum momento no futuro. |
Exemplo
O seguinte programa TestThread mostra o uso da interface Executor em ambiente baseado em thread.
import java.util.concurrent.Executor;
import java.util.concurrent.Executors;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
public class TestThread {
public static void main(final String[] arguments) throws InterruptedException {
Executor executor = Executors.newCachedThreadPool();
executor.execute(new Task());
ThreadPoolExecutor pool = (ThreadPoolExecutor)executor;
pool.shutdown();
}
static class Task implements Runnable {
public void run() {
try {
Long duration = (long) (Math.random() * 5);
System.out.println("Running Task!");
TimeUnit.SECONDS.sleep(duration);
System.out.println("Task Completed");
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
Isso produzirá o seguinte resultado.
Resultado
Running Task!
Task Completed