En un programa java de subprocesos múltiples, ¿qué sucede si se ha creado una instancia de un objeto de hebra T y luego se ha llamado a T.join() antes de que se haya iniciado el subproceso? Supongamos que algún otro hilo podría llamar a T.start() en cualquier momento después de que T haya sido instanciado, ya sea antes o después de que otro hilo invoque a T.join().¿Cuál es el comportamiento de Thread.join() en Java si el objetivo aún no se ha iniciado?
Pregunto porque creo que tengo un problema donde se ha llamado a T.join() antes de T.start(), y el hilo que llama a T.join() se cuelga.
Sí, sé que tengo algunos problemas de diseño que, de ser corregidos, podrían hacer que esto no sea un problema. Sin embargo, me gustaría conocer los detalles del comportamiento de join(), porque lo único que dicen los documentos de la API de Java es "Espera a que este hilo se muera".
Pruébalo. Haga otro proyecto simple y vea lo que sucede. – BeemerGuy
BeemerGuy: Tal vez lo haga, en algún momento. Sin embargo, no estoy seguro de que la prueba y el error por sí solos iluminarán completamente lo que está sucediendo detrás de escena. Siempre existe la posibilidad de que alguien más lo sepa y puede ahorrarme tiempo. – DGH