En tråd är en lätt process. Trådar minskar ineffektivitet genom att förhindra slöseri med CPU-cykler. Java, som är ett populärt och enkelt programmeringsspråk, ger inbyggt stöd till . Varje tråd har sin prioritet och den med högre prioritet tenderar att köras snabbare. Till skillnad från andra trådar är daemon-trådar i Java en tråd med låg prioritet som körs i bakgrunden.
Den här bloggen introducerar dig till Java Daemon-trådar i följande ordning.
vad är jit compiler i java
Låt oss börja. :-)
Vad är en Daemon-tråd i Java?
Daemon-tråd i Java tillhandahåller service till användartråden som körs i bakgrunden. Det anses vara en tråd med låg prioritet som används för att utföra uppgifter som sopuppsamling. I java har varje tråd sin prioritet och den med högre prioritet tenderar att köras snabbare. Också, Java Virtual Machine (JVM) avslutar denna tråd automatiskt. Det kan inte hindra JVM från att avslutas när alla användartrådar är färdiga, även om själva daemon-tråden körs.
Låt oss se hur daemon-trådar skiljer sig från användartrådar (icke-daemon).
Daemon Thread vs User Threads
Den största skillnaden mellan en daemontråd och användartråd beror på JVM. Som diskuterats ovan väntar Java Virtual Machine inte på att en daemontråd ska slutföra körningen medan den väntar på att användartråden ska slutföras. Låt oss utforska några fler skillnader mellan Daemon-tråd och användartråd med hjälp av nedanstående tabell:
Daemon trådar | Användartrådar (icke-demon) |
Daemon-trådar skapas av JVM | Användartrådar skapas av en applikation själv |
JVM väntar inte på dess körning | JVM väntar tills körningen är klar |
Trådar med låg prioritet | Trådar med hög prioritet |
Används för bakgrundsuppgifter (inte kritiskt) | Används för förgrundsuppgifter (kritisk) |
Livet är beroende av användartrådar | Livet är oberoende |
Nu när du är klar med skillnaden mellan daemon vs användartrådar, låt oss titta på ett exempelprogram för att kontrollera om en tråd är en daemon- eller non-daemon-tråd.
offentlig klass ExampleThread utökar tråd {@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 ('är' + obj.getName () + 'en Daemon-tråd:' + obj.isDaemon ()) System.out.println ('är' + Thread.currentThread (). getName () + 'en Daemon-tråd:' + Thread.currentThread (). isDaemon ())}}
Produktion: är tråd-0 en Daemon-tråd: falsk
Användartråd eller icke-daemontråd
är huvudsakligen en Daemon-tråd: falsk
Låt oss se olika metoder i daemon thread i Java.
Metoder i Java Daemon Thread
Det finns två huvudmetoder för en daemon-tråd i Java, nämligen:
Metoder | Beskrivning |
public void setDaemon (boolesk status) | Markerar den här tråden som antingen en daemontråd eller en användartråd (icke-daemontråd). |
public boolean isDaemon () | Används för att testa om den här tråden är en daemon-tråd eller inte. Returnerar sant om tråden är Daemon annars falsk. |
Tänk på koden nedan för praktisk implementering:
public class Demothread utökar Thread {// Java-programmet för att visa användningen av // setDaemon () och isDaemon () -metoden. public Demothread (String name) {super (name)} public void run () {// Kontrollerar om tråden är Daemon eller inte om (Thread.currentThread (). isDaemon ()) {System.out.println (getName () + 'är Daemon-tråd')} annat {System.out.println (getName () + 'är användartråd')}} offentligt statiskt ogiltigt huvud (String [] args) {Demothread thread1 = new Demothread ('thread1') Demothread tråd2 = ny demotråd ('tråd2') Demotråd tråd3 = ny demotråd ('tråd3') // Ställ in användartrådstråd1 till Daemon tråd1.setDaemon (sant) // börjar de första två trådarna tråd1.start () / Ställa in användartråd thread3 till Daemon thread3.setDaemon (true) thread3.start ()}}
Produktion:
thread2 är användartråd
tråd1 är Daemontråd
Detta är slutet på bloggen 'Daemon thread in Java'. Jag hoppas ni är klara med innehållet jag har diskuterat ovan. Läs min nästa bloggpå där jag har listat de 75 bästa intervjufrågorna och svaren som hjälper dig att skilja dig från intervjuprocessen.
Nu när du har förstått Java-samlingar, kolla in av Edureka, ett pålitligt inlärningsföretag online med ett nätverk av mer än 250 000 nöjda elever spridda över hela världen. Edurekas Java J2EE- och SOA-utbildning och certifieringskurs är utformad för studenter och yrkesverksamma som vill vara Java-utvecklare. Kursen är utformad för att ge dig ett försprång till Java-programmering och träna dig för både kärn- och avancerade Java-koncept tillsammans med olika Java-ramverk som Hibernate & Spring.
Har du en fråga till oss? Vänligen nämna det i kommentarsektionen i denna “Daemontråd i Java”Blogg så återkommer vi så snart som möjligt.
java hur man konverterar dubbel till int