Los ejecutores generalmente se usan cuando se trata de tareas (de ejecución breve), pero ¿cuál es la mejor manera de tratar las tareas de larga ejecución, p. tareas que deberían ejecutarse durante toda la vida de una aplicación?¿Cómo ejecutar tareas de larga ejecución?
Digamos que tengo una aplicación en la que una tarea que se ejecuta en un hilo independiente sondea un directorio para ver los cambios cada X segundos. Esta tarea nunca debería abandonar el sondeo, a menos que la aplicación se cierre. ¿Cómo comienzo y administro esto?
¿Sería new Thread(theLongRunningTask).start()
una mala opción?
En lugar de threadfactory + daemon, puede cerrar el ejecutor al salir (suponiendo que las tareas enviadas son amigables con las interrupciones y/o no se ejecutan todo el tiempo). – assylias
Sí, estoy de acuerdo: no soy muy aficionado a los hilos daemon, ya que pueden salirse fácilmente de su control en términos de gestión de hilos. – Cowboy