Concurrencia de Java - Interfaz de ejecutor
Una interfaz java.util.concurrent.Executor es una interfaz simple para apoyar el lanzamiento de nuevas tareas.
Métodos ExecutorService
No Señor. | Método y descripción |
---|---|
1 | void execute(Runnable command) Ejecuta el comando dado en algún momento en el futuro. |
Ejemplo
El siguiente programa TestThread muestra el uso de la interfaz Executor en un entorno basado en subprocesos.
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();
}
}
}
}
Esto producirá el siguiente resultado.
Salida
Running Task!
Task Completed