/** @see net.gaia.taskprocessor.api.processor.Detenible#detener() */ public void detener() { detenido = true; // Primero cambiamos el estado de los workers para que terminen for (final ParallelWorker internalWorker : internalWorkers) { internalWorker.stopRunning(); } // Eliminamos las referencias para el GC internalWorkers.clear(); // Interrumpimos los threads para que no esperen más y terminen inmediatamente for (final Thread internalThread : internalThreads) { internalThread.interrupt(); } // Eliminamos las referencias para el GC internalThreads.clear(); // Cada thread cancela sus propias tareas pendientes }