Buenos días:
Tengo un programa de cálculo que distribuye tareas en uno o varios hilos. Actualmente lo tengo hecho mediante threads que se incluyen en un array y cuando uno de los threads termina, por hallar una solución válida, recorro el array y cambio el valor de un semáforo para que el resto terminen también.
Originariamente quería utilizar un ExecutorService definido como Executors.newFixedThreadPool() lo que pasa es que no he sabido cómo realizar este corte "en cualquier momento". Algo he leido sobre la posibilidad de identificar un determinado hilo de ese ExecutorService utilizando el método submit en vez del execute. Si esto es así supongo que de alguna manera se podría identificar todos los hilos creados para un mismo cálculo y terminarlos sin afectar a otros que pudiesen estar realizando otro cálculo o tarea.
Si alguien me puede dar una idea sobre cómo realizar esto le estaría muy agradecido.
Un saludo.