Interfaz Java.util.concurrent.Executor con ejemplos

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: 

  1. 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");
    }
}
Producción: 

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *