Daemon Thread in Java: scopri quali sono i suoi metodi



Il thread daemon in Java fornisce un servizio al thread utente che viene eseguito in background. Impara i suoi metodi e come è diverso dai thread degli utenti.

Un thread è un processo leggero. I thread riducono l'inefficienza prevenendo lo spreco di cicli della CPU. Java, essendo un linguaggio di programmazione popolare e facile, fornisce supporto integrato a . Ogni thread ha la sua priorità e quello con priorità più alta tende ad essere eseguito più velocemente. A differenza di altri thread, i thread daemon in Java sono un thread a bassa priorità che viene eseguito in background.

Questo blog ti introdurrà ai thread di Java Daemon nel seguente ordine.





esempio di blocco statico in java

Iniziamo. :-)



Java - thread daemon in Java - Edureka

Che cos'è un thread daemon in Java?

Il thread daemon in Java fornisce un servizio al thread utente che viene eseguito in background. È considerato un thread a bassa priorità utilizzato per eseguire attività come la garbage collection. In java, ogni thread ha la sua priorità e quello con priorità più alta tende ad essere eseguito più velocemente. Anche, Java Virtual Machine (JVM) termina automaticamente questo thread. Non può impedire la chiusura di JVM quando tutti i thread utente terminano la loro esecuzione, anche se il thread daemon stesso è in esecuzione.

Andando avanti, vediamo come i thread daemon sono diversi dai thread utente (non daemon).



Thread daemon vs thread utente

La principale differenza tra un thread daemon e un thread utente è dovuta a JVM. Come discusso in precedenza, Java Virtual Machine non attende che un thread daemon termini la sua esecuzione mentre attende che il thread utente finisca. Esploriamo alcune altre differenze tra il thread Daemon e il thread utente con l'aiuto di una tabella seguente:

Daemon Threads Thread utente (non daemon)

I thread del demone vengono creati da JVM

I thread utente vengono creati da un'applicazione stessa

JVM non attende la sua esecuzione

JVM attende fino al completamento dell'esecuzione

Thread a bassa priorità

Thread ad alta priorità

Utilizzato per attività in background (non critico)

Utilizzato per attività in primo piano (critico)

La vita dipende dai thread dell'utente

La vita è indipendente

Ora che hai chiarito la differenza tra thread daemon e thread utente, esaminiamo un programma di esempio per verificare se un thread è un thread daemon o non daemon.

public class ExampleThread estende 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 () + 'un Daemon Thread:' + obj.isDaemon ()) System.out.println ('is' + Thread.currentThread (). getName () + 'a Daemon Thread:' + Thread.currentThread (). isDaemon ())}}

Produzione: è Thread-0 un Daemon Thread: false
Thread utente o thread non daemon
è principale un Daemon Thread: false

Andando avanti, vediamo diversi metodi nel thread del demone in Java.

Metodi in Java Daemon Thread

Esistono due metodi principali per un thread daemon in Java, vale a dire:

Metodi Descrizione
public void setDaemon (stato booleano)Contrassegna questo thread come thread daemon o thread utente (thread non daemon).
pubblico booleano isDaemon ()Utilizzato per verificare se questo thread è un thread daemon o meno. Restituisce vero se il thread è Daemon altrimenti falso.
Considera il codice seguente per l'implementazione pratica:
public class Demothread estende il programma Thread {// Java per dimostrare l'uso del metodo // setDaemon () e isDaemon (). public Demothread (String name) {super (name)} public void run () {// Verifica se il thread è Daemon o meno 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') // Impostazione del thread utente thread1 su Daemon thread1.setDaemon (true) // inizio dei primi 2 thread thread1.start () thread2.start () / / Impostazione del thread utente thread3 su Daemon thread3.setDaemon (true) thread3.start ()}}

Produzione:
thread2 è thread utente
thread1 è il thread Daemon

Questa è la fine del blog 'Daemon thread in Java'. Spero che abbiate chiaro il contenuto di cui ho discusso sopra. Leggi il mio prossimo blogsu dove ho elencato le 75 principali domande e risposte dell'intervista che ti aiuteranno a distinguerti nel processo di intervista.

Ora che hai compreso le raccolte Java, controlla il file da Edureka, una società di formazione online affidabile con una rete di oltre 250.000 studenti soddisfatti sparsi in tutto il mondo. Il corso di formazione e certificazione Java J2EE e SOA di Edureka è progettato per studenti e professionisti che desiderano diventare sviluppatori Java. Il corso è progettato per darti un vantaggio nella programmazione Java e formarti per concetti Java sia di base che avanzati insieme a vari framework Java come Hibernate e Spring.

Hai domande per noi? Si prega di menzionarlo nella sezione commenti di questo 'Thread daemon in Java'E ti ricontatteremo il prima possibile.

come usare system.exit in java