Dans un programme java multithread, que se passe-t-il si un objet thread T a été instancié, et que T.join() a été appelé avant le démarrage du thread? Supposons qu'un autre thread puisse appeler T.start() à tout moment après l'instanciation de T, avant ou après un autre thread appelé T.join().Quel est le comportement de Thread.join() dans Java si la cible n'a pas encore démarré?
Je demande parce que je pense que j'ai un problème où T.join() a été appelé avant T.start(), et le thread appelant T.join() se bloque. Oui, je sais que j'ai des problèmes de conception qui, s'ils sont corrigés, pourraient faire en sorte que ce problème ne se pose pas. Cependant, j'aimerais connaître les spécificités du comportement join(), car la seule chose que les docs de l'API Java disent est "Attend que ce thread meure".
Essayez-le. Faire un autre projet simple et voir ce qui se passe. – BeemerGuy
BeemerGuy: Peut-être que je le ferai, à un moment donné. Cependant, je ne suis pas convaincu que les essais et les erreurs éclaireront à eux seuls ce qui se passe dans les coulisses. Il y a toujours une chance que quelqu'un d'autre connaisse déjà et cela peut me faire gagner du temps. – DGH