Comment interrompre un thread dans un rapide et propre en java?

Voici mon problème: j'ai une boîte de dialogue avec certains paramètres que l'utilisateur peut modifier (via un compteur par exemple). Chaque fois que l'un de ces paramètres est modifié, je lance un fil de mise à jour d'une vue en 3D en fonction de la nouvelle valeur du paramètre.
Si l'utilisateur modifie une autre valeur (ou la même valeur, en cliquant plusieurs fois sur la touche de navigation flèche), tandis que le premier thread de travail, je voudrais annuler le premier thread (et la mise à jour de la vue 3D) et de lancer un nouveau avec la dernière valeur de paramètre.

Comment puis-je faire quelque chose comme ça?

PS: Il n'y a pas de boucle dans le run() méthode de mon fils, afin de vérifier l'indicateur n'est pas une option: le fil de mise à jour de la vue 3D, fondamentalement, n'appelle qu'une seule méthode qui est très long à exécuter. Je ne peux pas ajouter un drapeau dans cette méthode, en demandant pour abandon, soit que je n'ai pas accès à son code.

  • Pouvez-vous nous donner quelques infos sur l'API que vous utilisez? Vous dites que vous soumettre quelque chose à un peu de méthode, à partir d'un 3ème partie de la bibliothèque, et cela prend du temps. Cette méthode de modifier directement l'objet que vous passer? Ou, avez-vous un rappel avec les résultats?
  • Ne ce Thread jamais terminé normalement avant que votre application est terminée? Si oui, quelles en sont les causes d'arrêter?
InformationsquelleAutor jumar | 2008-09-18