En Java, los hilos se dividen en dos tipos: subprocesos de usuario y hilos de demonio (servicio). SetDaemon (falso) al hilo del usuario; setdaemon (verdadero) al hilo de demonio; Si no está configurado, es el hilo del usuario.
Para finalizar un solo hilo, use el método thread.interrupt () y para finalizar un múltiple subproceso, debe establecer un hilo de demonio. Cuando no existe un subproceso de usuario, todos los subprocesos de demonio terminarán (se puede entender como: el hilo de demonio es el subproceso de servicio, el subproceso del usuario es el subproceso de servicio, el hilo del usuario (el hilo de servicio) desaparece y el hilo de servicio terminará automáticamente sin significado de existencia)
ejemplo:
La clase StopThread implementa runnable {public void run () {// constructor, while (true) se ejecuta de forma predeterminada durante la instancia {// un bucle verdadero permanente se usa para detectar si el hilo de demonio finalizará automáticamente System.out.Println (Thread.CurrentThread (). GetName () + "Run");}}}}}}}}}}} stiftest {public static. {StopThread st = new StopThread (); Thread t1 = New Thread (ST); // Cree un nuevo hilo T2 = New Thread (ST); T1.SetDaemon (true); // Establecer como un hilo de demonio (servicio). Cuando el hilo del usuario está completamente colgado, todos los subprocesos de demonio también cuelgan T2.setdaemon (true); t1.start (); // hilo inicia t2.start (); int num = 0; while (true) {if (num ++ == 10) {break;} System.Println (Thread.CurrentThread (). GetName () + "..." ... " +" + " num);} System.out.println ("Over");}}Cuando se ejecuta la última oración System.out.println ("Over"), finaliza el hilo del usuario (programa principal); Los dos subprocesos de demonio que generan información continuamente en el bucle permanente de backend también terminarán automáticamente.
Se introduce otra pregunta común: ¿es esto cierto si todos los hilos no dadon en el final de Java, todos los hilos de demonio salen automáticamente?
Respuesta de referencia:
La única función de un hilo de demonio es proporcionar servicios a otros hilos. Cuando solo quedan hilos de demonio, la máquina virtual sale ”(de: Java Core Technology). Ahora no hay no defensa, por lo que no hay necesidad de que Daemon proporcione servicios.
Resumir
Lo anterior es todo el contenido de este artículo sobre las instancias de hilo de demonio en el lenguaje Java, la terminación multiproceso. Espero que sea útil para todos. Los amigos interesados pueden continuar referiéndose a otros temas relacionados en este sitio. Si hay alguna deficiencia, deje un mensaje para señalarlo. ¡Gracias amigos por su apoyo para este sitio!