Daemon Thread in Java: weet wat de methoden zijn



Daemon-thread in Java biedt service aan de gebruikers-thread die op de achtergrond wordt uitgevoerd. Leer de methoden en hoe verschilt deze van gebruikersthreads.

Een draad is een lichtgewicht proces. Threads verminderen inefficiëntie door verspilling van CPU-cycli te voorkomen. Java, een populaire en gemakkelijke programmeertaal, biedt ingebouwde ondersteuning voor . Elke thread heeft zijn prioriteit en degene met een hogere prioriteit wordt meestal sneller uitgevoerd. In tegenstelling tot andere threads, is daemon-threads in Java een thread met lage prioriteit die op de achtergrond wordt uitgevoerd.

Deze blog laat je kennismaken met Java Daemon-threads in de volgende volgorde.





het doorgeven van opdrachtregelargumenten in java

Laten we beginnen. :-)



Java - daemon-thread in Java - Edureka

Wat is een Daemon-thread in Java?

Daemon-thread in Java biedt service aan de gebruikers-thread die op de achtergrond wordt uitgevoerd. Het wordt beschouwd als een thread met lage prioriteit die wordt gebruikt om taken uit te voeren, zoals garbage collection. In Java heeft elke thread zijn prioriteit en degene met een hogere prioriteit heeft de neiging sneller te worden uitgevoerd. Ook, Java virtuele machine (JVM) beëindigt deze thread automatisch. Het kan niet voorkomen dat JVM wordt afgesloten wanneer alle gebruikersthreads hun uitvoering hebben voltooid, zelfs als de daemon-thread zelf actief is.

Laten we verder kijken hoe daemon-threads verschillen van gebruikersthreads (niet-daemon).



Daemon-thread versus gebruikers-threads

Het belangrijkste verschil tussen een daemon-thread en een gebruikers-thread is vanwege JVM. Zoals hierboven besproken, wacht Java Virtual Machine niet op een daemon-thread om de uitvoering ervan te voltooien, terwijl het wacht tot de user-thread is voltooid. Laten we wat meer verschillen tussen Daemon-thread en gebruikersthread verkennen met behulp van een onderstaande tabel:

Daemon Threads Gebruikersthreads (niet-daemon)

Daemon-threads worden gemaakt door JVM

Gebruikersthreads worden gemaakt door een applicatie zelf

JVM wacht niet op de uitvoering ervan

JVM wacht totdat de uitvoering is voltooid

Threads met lage prioriteit

Threads met hoge prioriteit

Gebruikt voor achtergrondtaken (niet kritiek)

Gebruikt voor taken op de voorgrond (kritiek)

Het leven is afhankelijk van gebruikersthreads

Het leven is onafhankelijk

Nu je duidelijk bent wat het verschil is tussen daemon- en gebruikersthreads, laten we eens kijken naar een voorbeeldprogramma om te controleren of een thread een daemon- of niet-daemon-thread is.

public class ExampleThread verlengt Thread {@Override public void run () {System.out.println ('User Thread of 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 ())}}

Uitgang: is Thread-0 een Daemon Thread: false
Gebruikersthread of niet-daemon-thread
is main a Daemon Thread: false

Laten we verder gaan, laten we verschillende methoden bekijken in daemon-thread in Java.

Methoden in Java Daemon Thread

Er zijn twee hoofdmethoden voor een daemon-thread in Java, namelijk:

Methoden Omschrijving
public void setDaemon (booleaanse status)Markeert deze thread als een daemon-thread of een gebruikers-thread (niet-daemon-thread).
openbare boolean isDaemon ()Wordt gebruikt om te testen of deze thread een daemon-thread is of niet. Geeft true terug als de thread Daemon anders false is.
Beschouw de onderstaande code voor praktische implementatie:
public class Demothread breidt Thread {// Java-programma uit om het gebruik van // setDaemon () en isDaemon () methode te demonstreren. public Demothread (String name) {super (name)} public void run () {// Controleren of de thread Daemon is of niet if (Thread.currentThread (). isDaemon ()) {System.out.println (getName () + 'is Daemon thread')} anders {System.out.println (getName () + 'is User thread')}} public static void main (String [] args) {Demothread thread1 = nieuwe Demothread ('thread1') Demothread thread2 = nieuwe Demothread ('thread2') Demothread thread3 = nieuwe Demothread ('thread3') // Instellen van user thread thread1 op Daemon thread1.setDaemon (true) // eerste 2 threads starten thread1.start () thread2.start () / / Gebruiker thread thread3 instellen op Daemon thread3.setDaemon (true) thread3.start ()}}

Uitgang:
thread2 is gebruikersdraad
thread1 is een Daemon-thread

Dit is het einde van de blog 'Daemon-thread in Java'. Ik hoop dat jullie duidelijk zijn met de inhoud die ik hierboven heb besproken. Lees mijn volgende blogAan waar ik de 75 beste interviewvragen en antwoorden heb opgesomd die je zullen helpen om je te onderscheiden in het interviewproces.

Nu u Java Collections begrijpt, kunt u het door Edureka, een vertrouwd online leerbedrijf met een netwerk van meer dan 250.000 tevreden leerlingen verspreid over de hele wereld. De training- en certificeringcursus Java J2EE en SOA van Edureka is bedoeld voor studenten en professionals die Java Developer willen worden. De cursus is bedoeld om u een voorsprong te geven in het programmeren van Java en u te trainen in zowel kern- als geavanceerde Java-concepten, samen met verschillende Java-frameworks zoals Hibernate & Spring.

Heeft u een vraag voor ons? Vermeld het alstublieft in het commentaargedeelte van deze “Daemon-thread in Java”Blog en we nemen zo snel mogelijk contact met u op.

hoe het gegevenstype in python te vinden