¿Hay alguna manera de utilizar ExecutorService para pausar/reanudar un hilo específico?Java ExecutorService pausa/reanudar un hilo específico
private static ExecutorService threadpool = Executors.newFixedThreadPool(5);
Imagínese que quiero detener el wich hilo como el id = 0 (suponiendo que a cada uno se le asigna un ID incrementales hasta que el tamaño de la threadpool se alcanza).
Después de un tiempo, al presionar un botón digamos, quiero reanudar ese hilo específico y dejar todos los otros hilos con su estado actual, que puede pausarse o reanudarse.
He encontrado en la documentación de Java una versión incompleta de PausableThreadPoolExecutor. Pero no se ajusta a lo que necesito porque reanuda todos los hilos en el conjunto.
Si no hay forma de hacerlo con la implementación predeterminada del ExecutorService ¿alguien me puede indicar una implementación de Java para este problema?
Gracias!
¿Seguro?El subproceso con id. Dado ejecuta un trabajo elegido al azar, por lo que está deteniendo un trabajo desconocido. ¿Qué sentido tiene hacerlo? –
Imagine la siguiente situación: tiene un administrador de descargas y en ese administrador puede detener y reanudar las descargas. Para cada uno de ellos está descargando cosas, no importa lo que no sea relevante, y desea evitar que la descarga se reanude donde lo desee. ¿Esto hace que la pregunta sea más clara para ti? –
Más claro, pero aún no tiene mucho sentido. Detener/reanudar descargas tiene que ver con la lógica empresarial, mientras que el hilo de rosca se trata de recursos computacionales. Para controlar la lógica por agregar/eliminar recursos es una mala idea en mi humilde opinión. –