No Java, os threads são divididos em dois tipos: threads de usuário e threads Daemon (Service). SetDaemon (false) para o thread do usuário; setDaemon (true) para o thread daemon; Se não estiver definido, é o thread do usuário.
Para encerrar um único thread, use o método Thread.interrupt () e para encerrar um multi-thread, você precisa definir um thread Daemon. Quando não existe um thread do usuário, todos os threads daemon serão finalizados (ele pode ser entendido como: o thread daemon é o thread de serviço, o thread do usuário é o thread de serviço, o thread do usuário (o thread de serviço) desaparece e o thread de serviço será encerrado automaticamente sem significado de existência)
exemplo:
classe StopThread implementa runnable {public void run () {// construtor, enquanto (true) é executado por padrão durante a instanciação {// Um loop verdadeiro permanente é usado para detectar se o thread da daemon será automaticamente endsys.out.println (thread.currentThread (). args) {stopThread st = new stopThread (); thread t1 = novo thread (st); // crie um novo thread thread t2 = new Thread (st); t1.setdaMemon (true); // defina como um thread daemon (serviço). Quando o tópico do usuário está totalmente pendurado, todos os threads daemon também penduram T2.SetDaemon (true); t1.start (); // Thread inicia t2.start (); int num = 0; while (true) {if (num ++ == 10) {break;} System.out.println (Thread.ClurrentThread (). num);} system.out.println ("over");}}Quando o último sistema de frases.out.println ("over") é executado, o thread do usuário (programa principal) termina; Os dois threads Daemon que emitem informações continuamente em loop permanente de back -end também serão finalizados automaticamente.
Outra pergunta comum é introduzida: isso é verdade se todos os threads não daemon na extremidade java, todos os threads Daemon saem automaticamente?
Resposta de referência:
A única função de um thread Daemon é fornecer serviços a outros threads. Quando apenas os threads Daemon são deixados, a máquina virtual sai ”(de: Java Core Technology). Agora não há não defesa, portanto, não há necessidade de Daemon fornecer serviços.
Resumir
O exposto acima é o conteúdo inteiro deste artigo sobre instâncias de thread da Daemon no Java Language Multithreaded Terminar. Espero que seja útil para todos. Amigos interessados podem continuar se referindo a outros tópicos relacionados neste site. Se houver alguma falha, deixe uma mensagem para apontá -la. Obrigado amigos pelo seu apoio para este site!