La API concurrente en Java proporciona una función conocida como ejecutor que inicia y controla la ejecución de subprocesos . Como tal, un ejecutor ofrece una alternativa a la gestión de subprocesos utilizando la clase de subprocesos. En el núcleo de un ejecutor se encuentra la interfaz Executor . Se refiere a los objetos que ejecutan las tareas Runnable enviadas.
Jerarquía de clases:
java.util.concurrent ↳ Interface Executor
Implementación de subinterfaces:
ExecutorService ScheduledExecutorService
Implementación de clases:
AbstractExecutorService ForkJoinPool ScheduledThreadPoolExecutor ThreadPoolExecutor
Métodos en la interfaz del Ejecutor:
- ejecutar() : esta función ejecuta el comando dado en algún momento en el futuro. El comando puede ejecutarse en un subproceso nuevo, en un subproceso agrupado o en el subproceso de llamada, a discreción de la implementación del Ejecutor.
Sintaxis:
void execute(Runnable task)
Ejemplo para demostrar un Ejecutor.
Java
import java.util.concurrent.Executor; import java.util.concurrent.RejectedExecutionException; public class ExecutorDemo { public static void main(String[] args) { ExecutorImp obj = new ExecutorImp(); try { obj.execute(new NewThread()); } catch (RejectedExecutionException | NullPointerException exception) { System.out.println(exception); } } } class ExecutorImp implements Executor { @Override public void execute(Runnable command) { new Thread(command).start(); } } class NewThread implements Runnable { @Override public void run() { System.out.println("Thread executed under an executor"); } }
Thread executed under an executor
Referencia: https://docs.oracle.com/javase/9/docs/api/java/util/concurrent/Executor.html
Publicación traducida automáticamente
Artículo escrito por CharchitKapoor y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA