¿saldrá el hilo principal antes de que los hilos secundarios completen la ejecución?¿saldrá el hilo principal antes de que los hilos secundarios completen la ejecución?
leí en 2 artículos
http://www.cs.mtu.edu/~shene/NSF-3/e-Book/FUNDAMENTALS/thread-management.html
en el artículo anterior, En "Terminación del hilo" para, se afirma en Red "si el hilo padre termina, todos los subprocesos niño terminan así. "
http://www.roseindia.net/java/thread/overview-of-thread.shtml
en el artículo anterior, la última línea de esa página estados "The) ejecución principal (método puede terminar, pero el programa sigue funcionando hasta que los temas tienen completar su ejecución.".
i tarifa son contradictorias. si estoy equivocado, por favor los expertos me corrigen.
En mi programa, un programa con método principal llama al constructor de 2 hilos. en el constructor de los hilos respectivos, estoy teniendo el método start().
TestA A = new TestA("TestA");
TestB B = new TestB("TestB");
public TestA(String name) {
System.out.println(name);
t = new Thread(this);
t.start();
}
me gustaría saber lo que pasa, hilo principal termina antes de hilos de ejecución completa del niño? si es así, ¿el niño entablará conversación de todos modos, continuará su ejecución?
intenté ejecutar el programa, algunas veces todos los subprocesos hijo se ejecutan completos incluso si el hilo principal se cierra. En los 2 hilos, estoy procesando algunos archivos. en el hilo A de testA, solo 1 archivo no se procesa algunas veces. pero muchas veces, todos los archivos se están procesando y no tengo ningún problema.
Gracias por la explicación detallada. mencionó que "en su caso, los hilos son hilos de usuario y, por lo tanto, pueden completarse antes de que salga el hilo principal". Aquí quiere decir "hilo principal" para ser el tiempo de ejecución de Java, no el programa con el método principal(). ¿correcto? – user1257836
la clase que tiene el método principal y los hilos que se crean dentro del método principal son todos hilos de usuario. todos estos hilos son independientes se ejecutan al mismo tiempo. Porque di System.out.println ("exit of main method"); al final del método principal. esto se imprime antes que system.out.println() en los hilos hijo. esto me hizo pensar que el hilo principal (clase que tiene el método principal) puede salir incluso antes de que el hijo se enrosque. ¿Es esta forma correcta y correcta de comportamiento? – user1257836
¿puede aclarar qué quiere decir con bloqueos de archivos? ¡¡gracias por adelantado!! – user1257836