thread : probleme avec start - Java - Programmation
Marsh Posté le 27-04-2005 à 14:45:45
Dans le deuxième passage il est déjà lancé ton thread. Donc tu ne peux pas le relancer.
Fait démmarer ton thread juste avant ton while.
Marsh Posté le 27-04-2005 à 14:56:31
Bysounours a écrit : Dans le deuxième passage il est déjà lancé ton thread. Donc tu ne peux pas le relancer. |
ok.
donc ensuite je dois juste faire run ?
Marsh Posté le 27-04-2005 à 15:05:27
ta.start() va appeler la méthode run() de "ta".
donc pas besoin de faire de nouveau un appel à ta classe dans la boucle while(ta methode run s'execute en continue jusqu'a ce qu'elle arrive à son terme), sauf si c'est sur d'autres methodes comme tu le fait avec "ta.join()".
Marsh Posté le 27-04-2005 à 16:27:57
Bysounours a écrit : ta.start() va appeler la méthode run() de "ta". |
oui d'accord mais vu que je fais un join le thread est fini, il faut donc le relancer au prochain tour ?
Marsh Posté le 27-04-2005 à 17:23:38
Je connais mal les threads, mais il me semble qu'il n'est pas possible de relancer un thread qui a terminé. Essaye d'en réinstancier un.
Marsh Posté le 27-04-2005 à 17:29:01
Cherrytree a écrit : Je connais mal les threads, mais il me semble qu'il n'est pas possible de relancer un thread qui a terminé. Essaye d'en réinstancier un. |
dans ce cas, on fait un Runnable, et quand le thread qui le faisait tourner a fini, on le passe à un autre thread.
ça permet de ne pas ré-instancier la partie business.
Marsh Posté le 27-04-2005 à 17:34:21
nraynaud a écrit : dans ce cas, on fait un Runnable, et quand le thread qui le faisait tourner a fini, on le passe à un autre thread. |
Marsh Posté le 27-04-2005 à 14:42:09
'ta' est une classe héritant de thread.
voici la console :
encore en vie ?true
attente affichage)
join
encore en vie2 ?false
java.lang.IllegalThreadStateException
at java.lang.Thread.start(Thread.java:571)
at test.main(test.java:16)
apparement c'est lors du 2eme passage qu'il apprecie pas mais je ne comprends pas pkoi