Taz a écrit :
si tu vois le thread, c'est bien qu'il existe ... il est terminé mais pas détruit/recyclé tant que tu ne join pas.
|
Normal qu'il existe, quand je lis son état j'ai encore une variable qui pointe dessus, mais après la variable pointe vers le dernier thread créé... Et dans la javadoc il est dit que le thread mourait lorsque la fonction run() terminait... Et je veux pas faire de join() car l'existence de mon thread principal ne doit pas dépendre des threads fils...
benou a écrit :
si ta mémoire explose, c'est forcément que tu gardes des références quelques part sur des objets ... C'est pas forcément les threads qui sont en cause, c'est peut être des objets alloué et non relachés quelque part dans l'execution du thread.
regarde notament du côté des List ou Map static : c'est une erreur assez courante quand on débute ...
Par exemple, cmme dis Taz, si tu est capable de demander l'état des threads, c'ets bien que tu as encore une référence vers eux ...
|
Comme dit ci dessus, la seule variable qui référence le thread ne pointe que vers le dernier thread (après ils ont une vie qui leur est propre), je ne les stocke pas tous dans une collection...
Et j'ai rien de static ni de collections dans les threads... Et je ferme tous mes descripteurs avant la fin du run(), donc je vois pas ce qui pourrait etre encore alloué. Et puis tout de facon quand le thread termine, toutes les références qui sont dedans sont "garbagecollectables" nan?