Aquí está mi problema: tengo un diálogo con algunos parámetros que el usuario puede cambiar (a través de una ruleta, por ejemplo). Cada vez que se cambia uno de estos parámetros, inicio un hilo para actualizar una vista 3D de acuerdo con el nuevo valor del parámetro. Si el usuario cambia otro valor (o el mismo valor nuevamente haciendo clic muchas veces en la flecha giratoria) mientras el primer hilo está funcionando, me gustaría abortar el primer hilo (y la actualización de la vista 3D) y lanzar un nuevo uno con el último valor de parámetro.¿Cómo abortar un hilo de una manera rápida y limpia en Java?
¿Cómo puedo hacer algo como eso?
PD: No hay ningún bucle en el método run()
de mi hilo, por lo que no es una opción verificar: un hilo que actualiza la vista 3D solo llama a un único método que es muy largo de ejecutar. No puedo agregar ningún indicador en este método que pida abortar ya que no tengo acceso a su código.
Puede darnos alguna información más sobre el API que está utilizando? Dice que envía algo a algún método de una biblioteca de terceros, y esto lleva mucho tiempo. ¿Este método modifica directamente el objeto que pasa? O, ¿recibe una devolución de llamada con los resultados? –
¿Alguna vez este subproceso finaliza normalmente antes de que se complete la aplicación? Si es así, ¿qué causa que se detenga? –