Fire Daemon în Java: Aflați care sunt metodele sale



Firul Daemon în Java oferă servicii firului de utilizator care rulează în fundal. Aflați metodele sale și în ce fel este diferit de firele de utilizator.

Un fir este un proces ușor. Firele reduc ineficiența prin prevenirea risipirii ciclurilor CPU. Java, fiind un limbaj de programare popular și ușor, oferă suport încorporat pentru . Fiecare fir are prioritatea sa, iar cel cu prioritate mai mare tinde să se execute mai repede. Spre deosebire de alte fire, firele de demoni din Java sunt un fir cu prioritate redusă care rulează în fundal.

Acest blog vă va prezenta subiectele Java Daemon în următoarea ordine.





implementare simplă hashmap în java

Să începem. :-)



Java - fir de demon în Java - Edureka

Ce este un fir Daemon în Java?

Firul Daemon în Java oferă servicii firului de utilizator care rulează în fundal. Este considerat a fi un fir cu prioritate redusă, care este utilizat pentru a efectua sarcini precum colectarea gunoiului. În java, fiecare fir are prioritatea sa, iar cel cu prioritate mai mare tinde să se execute mai repede. De asemenea, Mașină virtuală Java (JVM) încheie automat acest fir. Nu poate împiedica ieșirea JVM atunci când toate firele de utilizator își termină execuția, chiar dacă firul de demoni în sine rulează.

Mergând mai departe, să vedem în ce fel diferitele fire de demon de la fire de utilizator (non-daemon).



Subiectul Daemon vs Subiectele utilizatorului

Diferența majoră între un fir de demon și firul de utilizator se datorează JVM. După cum sa discutat mai sus, mașina virtuală Java nu așteaptă ca un fir de demon să-și termine execuția în timp ce așteaptă ca firul de utilizator să se termine. Să explorăm câteva diferențe între firul Daemon și firul utilizatorului cu ajutorul unui tabel de mai jos:

Fire Daemon Fire de utilizator (non-daemon)

Subiectele Daemon sunt create de JVM

Firele de utilizator sunt create chiar de o aplicație

JVM nu așteaptă executarea acestuia

JVM așteaptă până la finalizarea execuției

Fire cu prioritate redusă

Firele cu prioritate ridicată

Folosit pentru sarcini de fundal (nu critice)

Folosit pentru sarcini în prim plan (critic)

Viața este dependentă de firele de utilizator

Viața este independentă

Acum, că sunteți clar cu diferența dintre subiectele daemon vs fire de utilizator, să ne uităm la un exemplu de program pentru a verifica dacă un thread este un fir de demon sau non-daemon.

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

Ieșire: este Thread-0 un Daemon Thread: false
Fir utilizator sau fir non-Daemon
este principal un subiect Daemon: false

Mergând mai departe, să vedem diferite metode în firul demon în Java.

Metode în Java Daemon Thread

Există două metode principale pentru un fir de demon în Java și anume:

Metode Descriere
public void setDaemon (stare booleană)Marcează acest fir ca fiind un fir de demon sau un fir de utilizator (fir non-daemon).
public boolean isDaemon ()Folosit pentru a testa dacă acest thread este sau nu un thread demon. Returnează true dacă firul este Daemon else false.
Luați în considerare codul de mai jos pentru implementarea practică:
public class Demothread extinde programul Thread {// Java pentru a demonstra utilizarea // metodei setDaemon () și isDaemon (). public Demothread (String name) {super (name)} public void run () {// Verificarea dacă firul este Daemon sau nu dacă (Thread.currentThread (). isDaemon ()) {System.out.println (getName () + 'este Daemon thread')} else {System.out.println (getName () + 'is User thread')}} public static void main (String [] args) {Demothread thread1 = new Demothread ('thread1') Demothread thread2 = nou Demothread ('thread2') Demothread thread3 = nou Demothread ('thread3') // Setarea threadului utilizatorului thread1 la Daemon thread1.setDaemon (adevărat) // pornirea primelor 2 fire thread1.start () thread2.start () / / Setarea thread-ului utilizatorului thread3 la Daemon thread3.setDaemon (adevărat) thread3.start ()}}

Ieșire:
thread2 este firul utilizatorului
thread1 este un thread Daemon

Acesta este sfârșitul blogului „Daemon thread in Java”. Sper că voi sunteți clari cu conținutul pe care l-am discutat mai sus. Citiți următorul meu blogpe unde am enumerat cele mai importante 75 de întrebări și răspunsuri la interviu care vă vor ajuta să vă distingeți în procesul de interviu.

Acum că ați înțeles colecțiile Java, consultați de Edureka, o companie de învățare online de încredere, cu o rețea de peste 250.000 de elevi mulțumiți răspândiți pe tot globul. Cursul de formare și certificare Java J2EE și SOA al Edureka este conceput pentru studenți și profesioniști care doresc să fie dezvoltator Java. Cursul este conceput pentru a vă oferi un început important în programarea Java și pentru a vă instrui atât pentru conceptele Java de bază, cât și pentru cele avansate, împreună cu diverse cadre Java, cum ar fi Hibernate & Spring.

Ai o întrebare pentru noi? Vă rugăm să o menționați în secțiunea de comentarii a acestui „Fir de demon în Java”Pe blog și vă vom răspunde cât mai curând posibil.

pmi-acp merită