Konac je lagan postupak. Niti smanjuju neučinkovitost sprečavanjem trošenja procesorskih ciklusa. Java, kao popularan i lagan programski jezik, pruža ugrađenu podršku za . Svaka nit ima svoj prioritet, a ona s većim prioritetom nastoji se brže izvršavati. Za razliku od ostalih niti, daemon niti u Javi nit je niskog prioriteta koja se izvodi u pozadini.
Ovaj će vas blog predstaviti Java Daemon nitima sljedećim redoslijedom.
apache iskra u usporedbi s hadoop mapreduceom
Započnimo. :-)
Što je Daemon Thread u Javi?
Daemon nit u Javi pruža uslugu korisničkoj niti koja radi u pozadini. Smatra se nitom niskog prioriteta koja se koristi za izvršavanje zadataka poput odvoza smeća. U javi svaka nit ima svoj prioritet, a ona s većim prioritetom nastoji se brže izvršavati. Također, Java virtualni stroj (JVM) automatski prekida ovu nit. Ne može spriječiti izlazak JVM-a kada sve korisničke niti završe svoje izvršavanje, čak i ako je sama demon demon izvedena.
Krenimo dalje, pogledajmo kako se daemon niti razlikuju od korisničkih niti (ne-daemon).
Daemon Thread vs User Threads
Glavna razlika između niti demona i niti korisnika je zbog JVM-a. Kao što je gore spomenuto, Java Virtual Machine ne čeka da demon demon završi svoje izvršenje, dok čeka da završi korisnička nit. Istražimo još neke razlike između Daemonove niti i korisničke niti uz pomoć donje tablice:
Daemon niti | Korisničke niti (ne-demon) |
Daemon niti kreira JVM | Korisničke niti kreira sama aplikacija |
JVM ne čeka njegovo izvršenje | JVM čeka dok se izvršenje ne završi |
Teme niskog prioriteta | Niti visokog prioriteta |
Koristi se za pozadinske zadatke (nije kritično) | Koristi se za zadaće u prvom planu (kritično) |
Život ovisi o korisničkim nitima | Život je neovisan |
Sad kad vam je jasno s razlikom između demona i korisničkih niti, pogledajmo primjer programa za provjeru je li nit demon ili ne-demon.
javna klasa ExampleThread proširuje nit {@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 ('je' + obj.getName () + 'Daemon Thread:' + obj.isDaemon ()) System.out.println ('je' + Thread.currentThread (). getName () + 'a Daemon Thread:' + Thread.currentThread (). isDaemon ())}}
Izlaz: je Thread-0 Daemon Thread: false
Korisnička nit ili ne-demonska nit
je glavni Daemon Thread: false
Krenimo dalje, pogledajmo različite metode u daemon niti u Javi.
Metode u Java Daemon Threadu
Postoje dvije glavne metode za nit demona u Javi, i to:
Metode | Opis |
javna praznina setDaemon (logički status) | Označava ovu nit kao nit demona ili nit korisnika (nit koja nije demon). |
javni boolean isDaemon () | Koristi se za testiranje je li ova nit daemon nit ili nije. Vraća true ako je nit Daemon else false. |
Razmotrite donji kod za praktičnu primjenu:
javna klasa Demothread proširuje Thread {// Java program kako bi demonstrirao upotrebu // setDaemon () i isDaemon () metode. javni Demothread (naziv niza) {super (name)} public void run () {// Provjera je li nit Daemon ili nije ako (Thread.currentThread (). isDaemon ()) {System.out.println (getName () + 'je Daemon nit')} else {System.out.println (getName () + 'je User thread')}} public static void main (String [] args) {Demothread thread1 = new Demothread ('thread1') Demothread thread2 = new Demothread ('thread2') Demothread thread3 = new Demothread ('thread3') // Postavljanje korisničke niti thread1 na Daemon thread1.setDaemon (true) // pokretanje prve 2 niti thread1.start () thread2.start () / / Postavljanje korisničke niti thread3 na Daemon thread3.setDaemon (true) thread3.start ()}}
Izlaz:
thread2 je nit korisnika
thread1 je Daemon nit
Ovo je kraj bloga 'Daemon thread u Javi'. Nadam se da ste jasni sa sadržajem o kojem sam gore govorio. Pročitajte moj sljedeći blogna gdje sam naveo top 75 pitanja i odgovora na intervjuu koji će vam pomoći da se odvojite u procesu intervjua.
Sad kad ste shvatili Java Zbirke, pogledajte Edureka, pouzdana tvrtka za internetsko učenje s mrežom od više od 250 000 zadovoljnih učenika raširenih širom svijeta. Edurekin tečaj za obuku i certificiranje Java J2EE i SOA namijenjen je studentima i profesionalcima koji žele biti programer Java. Tečaj je dizajniran da vam pruži početnu prednost u Java programiranju i osposobi vas za osnovne i napredne Java koncepte, zajedno s raznim Java okvirima poput Hibernate & Spring.
Imate pitanje za nas? Molimo navedite ga u odjeljku za komentare ovog 'Daemon nit u Javi”Bloga i javit ćemo vam se u najkraćem mogućem roku.
tablica kako stvoriti skup