Daemon Thread em Java: saiba quais são seus métodos



O encadeamento daemon em Java fornece serviço para o encadeamento do usuário que é executado em segundo plano. Aprenda seus métodos e como eles são diferentes das threads do usuário.

Um thread é um processo leve. Threads reduzem a ineficiência, evitando o desperdício de ciclos de CPU. Java, sendo uma linguagem de programação popular e fácil, fornece suporte integrado para . Cada thread tem sua prioridade e aquele com maior prioridade tende a executar mais rápido. Ao contrário de outros encadeamentos, os encadeamentos daemon em Java são encadeamentos de baixa prioridade que são executados em segundo plano.

Este blog apresentará os threads do Java Daemon na seguinte ordem.





implementação simples de hashmap em java

Vamos começar. :-)



Java - thread daemon em Java - Edureka

O que é um Daemon Thread em Java?

O encadeamento daemon em Java fornece serviço para o encadeamento do usuário que é executado em segundo plano. É considerado um encadeamento de baixa prioridade, usado para realizar tarefas como a coleta de lixo. Em java, cada thread tem sua prioridade e aquele com maior prioridade tende a executar mais rápido. Além disso, Máquina Virtual Java (JVM) encerra este tópico automaticamente. Ele não pode evitar que a JVM saia quando todos os encadeamentos do usuário terminam sua execução, mesmo se o próprio encadeamento daemon estiver em execução.

Seguindo em frente, vamos ver como os threads daemon são diferentes das threads do usuário (não daemon).



Daemon Thread vs User Threads

A principal diferença entre um encadeamento daemon e um encadeamento do usuário é por causa da JVM. Conforme discutido acima, a Java Virtual Machine não espera que um encadeamento daemon termine sua execução enquanto espera o encadeamento do usuário terminar. Vamos explorar mais algumas diferenças entre o thread do Daemon e o thread do usuário com a ajuda da tabela abaixo:

Daemon Threads Threads de usuário (não daemon)

Threads daemon são criados por JVM

Os threads do usuário são criados pelo próprio aplicativo

JVM não espera por sua execução

JVM espera até que a execução seja concluída

Tópicos de baixa prioridade

Tópicos de alta prioridade

Usado para tarefas em segundo plano (não críticas)

Usado para tarefas de primeiro plano (crítico)

A vida depende dos tópicos do usuário

A vida é independente

Agora que você entendeu bem a diferença entre encadeamentos daemon e do usuário, vamos examinar um programa de exemplo para verificar se um encadeamento é um encadeamento daemon ou não.

public class ExampleThread extends Thread {@Override public void run () {System.out.println ('User Thread or Non-Daemon Thread')} public static void main (String [] args) {ExampleThread obj = new ExampleThread () obj .start () System.out.println ('is' + obj.getName () + 'um Daemon Thread:' + obj.isDaemon ()) System.out.println ('is' + Thread.currentThread (). getName () + 'um thread daemon:' + Thread.currentThread (). isDaemon ())}}

Resultado: é Thread-0 um Thread de Daemon: false
Thread do usuário ou thread não-Daemon
é principal um Daemon Thread: false

Seguindo em frente, vamos ver métodos diferentes em thread daemon em Java.

Métodos em Java Daemon Thread

Existem dois métodos principais para um encadeamento daemon em Java, a saber:

Métodos Descrição
public void setDaemon (status booleano)Marca este thread como um thread daemon ou um thread do usuário (thread não daemon).
public boolean isDaemon ()Usado para testar se este thread é um thread daemon ou não. Retorna verdadeiro se o segmento for Daemon, senão falso.
Considere o código abaixo para implementação prática:
public class Demothread estende Thread {// programa Java para demonstrar o uso dos métodos // setDaemon () e isDaemon (). public Demothread (String name) {super (name)} public void run () {// Verificando se o thread é Daemon ou não if (Thread.currentThread (). isDaemon ()) {System.out.println (getName () + 'is Daemon thread')} else {System.out.println (getName () + 'is User thread')}} public static void main (String [] args) {Demothread thread1 = new Demothread ('thread1') Demothread thread2 = new Demothread ('thread2') Demothread thread3 = new Demothread ('thread3') // Definindo thread do usuário thread1 para Daemon thread1.setDaemon (true) // iniciando os primeiros 2 threads thread1.start () thread2.start () / / Definindo thread do usuário thread3 para Daemon thread3.setDaemon (true) thread3.start ()}}

Resultado:
thread2 é thread do usuário
thread1 é thread do Daemon

Este é o fim do blog “Daemon thread in Java”. Espero que vocês tenham entendido o conteúdo que discuti acima. Leia meu próximo blogem onde listei as 75 principais perguntas e respostas da entrevista que o ajudarão a se destacar no processo de entrevista.

Agora que você entendeu as coleções Java, verifique o pela Edureka, uma empresa de aprendizagem online confiável com uma rede de mais de 250.000 alunos satisfeitos espalhados por todo o mundo. O curso de certificação e treinamento Java J2EE e SOA da Edureka é projetado para estudantes e profissionais que desejam ser um desenvolvedor Java. O curso foi elaborado para dar a você uma vantagem inicial na programação Java e treiná-lo para os conceitos básicos e avançados de Java, juntamente com várias estruturas Java como Hibernate e Spring.

Tem alguma questão para nós? Mencione isso na seção de comentários deste “Thread daemon em Java”Blog e entraremos em contato com você o mais breve possível.

exemplo de namespace c ++