VademécumVademécum\Ejecutor [Executor] (concepto)

Ejecutor [Executor] (concepto)

La forma clásica de lanzar un thread es

Runnable x = ...

Thread thread = new Thread(x);

thread.start();  

 

Los objetos Executor lo hacen un poco diferente:

Executor executor = ...

Runnable x = ...

executor.execute(x);

 

Visto así, no parece que hayamos ganado gran cosa.

La ventaja aparece al considerar que Executor es una interfaz con múltiples implementaciones que permiten controlar la ejecución del thread.

La variedad la aportan los objetos ExecutorService que se crean con la fábrica (factory) de Executors.

Uno de los usos más habituales es limitar el número de threads concurrentes, de forma que si el programa quiere lanzar más threads, los nuevos se guardan en una cola hasta que termine uno de los threads en ejecución.

Ver “Executor”.

Ver “ExecutorService”.

Ver “Executors”.

principio