Bonjour,
Je travaille sur un projet où il y a exportation de fichiers d'un format dans un autre.
Les méthodes d'exportation ne me sont pas accessibles, et il arrive que selon les fichiers à exporter, l'application "plante" à cause de ces méthodes : l'exportation prend un temps infini et ne renvoie rien.
Je voudrait savoir s'il existe un façon de faire qui puisse prévenir l'utilisateur du bug, voire, mieux, de lui permettre de stopper la méthode qui plante.
J'ai pensé à mettre les méthodes à risque dans des Thread à part, et dans le Thread principal, écrire une méthode permettant de stopper le Thread à part.
Seulement, la plupart des méthodes permettant de mettre en pause ou de stopper les Thread partent du principe que le Thread vérifie périodiquement une variable (que le Thread principal transforme lors de l'arret). Si ma méthode plante, tout se passe comme si le Thread à stopper entrait dans une boucle infinie, (genre while(true) {}) et ne pourrait plus vérifier l'état de cette variable.
Quelqu'un aurait-il une idée pour résoudre mon problème?
Je vous remercie vivement de vos aides et conseils ;-)
EDIT: J'ai pensé à un Timer qui vérifie périodiquement si le Thread à part et toujours alive, et si au bout d'un long moment, c'est toujours le cas, afficher un message pour avertir l'utilisateur. Mais je ne vois toujours pas comment stopper le Thread à part et commencer une nouvelle tâche...
Partager