Bonjour,
J'utilise des threads dans un programme.
Ces threads sont lancés via threadPool.invokeLater (import org.apache.commons.threadpool.ThreadPool
Ils sont appelés depuis une fonction main().
Tout s'exécute parfaitement, même le dernier log qui est censés s'afficher une fois que le traitement est terminé.
Cependant, la touche "arrêt" est active même en fin de programme. Et je n'arrive pas a faire terminer le programme sans écrire System.exit
Je ne comprends pas pourquoi, pourtant il est clair que les tâches ont été exécutées avec succès et entièrement.
J'ai tout testé: interrupt() à la fin du run. appel a n'importe quel fonction (même les plus stupides), mise à null de TOUT.
Rien n'y fait.
J'avais suivi la FAQ qui consistait a lancer une Exception dans une fonction pour faire finir le thread mais ça ne fonctionne pas non plus.
Le plus curieux, c'est que même en ne mettant rien du tout dans la fonction run(), le programme ne se termine pas...
Deuxième question: Y a t-il moyen de retourner une valeur au main.
u du moins d'utiliser une variable commune à la fois aux threads mais aussi au main()?
Merci beaucoup
Partager