Siūlas yra lengvas procesas. Siūlai sumažina neefektyvumą, neleisdami švaistyti procesoriaus ciklų. „Java“ yra populiari ir lengva programavimo kalba, teikianti integruotą palaikymą . Kiekvienas siūlas turi savo prioritetą, o tas, kurio prioritetas yra aukštesnis, linkęs vykdyti greičiau. Skirtingai nuo kitų gijų, „Java“ „deemon“ gijos yra žemo prioriteto gijos, kurios veikia fone.
Šis tinklaraštis supažindins jus su „Java Daemon“ gijomis tokia tvarka.
java metė dvigubai į tarpt
Pradėkime. :-)
Kas yra „Daemon“ gija „Java“?
„Java“ „Daemon“ gija teikia paslaugas vartotojui, kuris veikia fone. Tai laikoma mažo prioriteto gija, naudojama atliekant tokias užduotis kaip šiukšlių surinkimas. Java sistemoje kiekviena gija turi savo prioritetą, o ta, kurios prioritetas yra aukštesnis, linkusi vykdyti greičiau. Be to, „Java“ virtualioji mašina (JVM) automatiškai nutraukia šią temą. Tai negali užkirsti kelio JVM išeiti, kai visos vartotojo gijos baigia vykdyti, net jei pati „Daemon“ gija veikia.
Pažvelkime į priekį, pažiūrėkime, kaip „daemon“ gijos skiriasi nuo vartotojo gijų (ne „daemon“).
„Daemon Thread“ ir „User Threads“
Pagrindinis skirtumas tarp „deemon“ gijos ir vartotojo gijos yra dėl JVM. Kaip aptarta aukščiau, „Java“ virtualioji mašina nelaukia, kol „deemon“ gija baigs vykdyti, kol laukia, kol baigsis vartotojo gija. Panagrinėkime dar keletą „Daemon“ gijos ir vartotojo gijų skirtumų naudodami toliau pateiktą lentelę:
„Daemon“ siūlai | Vartotojo gijos (ne „daemon“) |
„Daemon“ gijas kuria JVM | Vartotojo gijas sukuria pati programa |
JVM nelaukia jo vykdymo | JVM laukia, kol egzekucija bus baigta |
Mažo prioriteto temos | Aukšto prioriteto gijos |
Naudojamas atliekant fonines užduotis (ne kritinė) | Naudojamas pirmojo plano užduotims atlikti (kritinės) |
Gyvenimas priklauso nuo vartotojo gijų | Gyvenimas yra nepriklausomas |
Dabar, kai jūs aiškiai suprantate skirtumą tarp „deemon“ ir „vartotojo“ gijų, pažiūrėkime į programos pavyzdį, kad patikrintume, ar gija yra „deemon“, ar ne „deemon“.
viešoji klasė „ExampleThread“ pratęsia giją {@Paisykite viešą negaliojančią paleidimo () {System.out.println ('Vartotojo gija arba ne „Daemon“ gija')} viešąją statinę negaliojančią pagrindinę (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 () + '„Daemon“ gija:' + Thread.currentThread (). isDaemon ())}}
Išvestis: yra „Thread-0“ yra „Daemon Thread“: klaidinga
Vartotojo gija arba ne „Daemon“ gija
yra pagrindinis „Daemon“ siūlas: klaidingas
Pažvelkime į priekį, pamatykime skirtingus metodus „Java“ „deemon“ gijose.
„Java Daemon Thread“ metodai
Yra du pagrindiniai „Java“ „daemon“ gijų metodai:
Metodai | apibūdinimas |
public void setDaemon (loginė būsena) | Pažymi šią giją kaip „deemon“ giją arba kaip vartotojo giją (ne „deemon“ gija). |
viešoji loginė isDaemon () | Naudojamas norint patikrinti, ar ši gija yra „deemon“ gija, ar ne. Grąžina tiesą, jei gija yra neteisinga „Daemon“. |
Apsvarstykite žemiau pateiktą kodą praktiniam įgyvendinimui:
public class Demothread išplečia Thread {// Java programą, kad pademonstruotų // setDaemon () ir isDaemon () metodo naudojimą. public Demothread (String name) {super (name)} public void run () {// Patikrinimas, ar gija yra „Daemon“, ar ne, jei (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') // Vartotojo gijos thread1 nustatymas į „Daemon“ giją1.setDaemon (true) // pradedant pirmuosius 2 siūlus thread1.start () thread2.start () / / Vartotojo siūlų gijos 3 nustatymas į „Daemon thread3.setDaemon (true) thread3.start ()}}
Išvestis:
thread2 yra vartotojo gija
thread1 yra „Daemon“ gija
Tai yra „Daemon thread Java“ tinklaraščio pabaiga. Tikiuosi, kad jūs, vaikinai, suprantate turinį, kurį aptariau aukščiau. Ar skaityti mano kitą dienoraštįant kur išvardijau 75 geriausius interviu klausimus ir atsakymus, kurie padės išsiskirti interviu procese.
Dabar, kai supratote „Java“ kolekcijas, patikrinkite sukūrė patikima internetinė mokymosi įmonė „Edureka“, turinti daugiau nei 250 000 patenkintų besimokančiųjų tinklą visame pasaulyje. „Edureka“ „Java J2EE“ ir SOA mokymo ir sertifikavimo kursai yra skirti studentams ir specialistams, norintiems būti „Java“ kūrėjais. Kursas sukurtas tam, kad galėtumėte pradėti žvalgytis į „Java“ programavimą ir išmokyti pagrindines ir pažangesnes „Java“ koncepcijas kartu su įvairiomis „Java“ sistemomis, tokiomis kaip „Hibernate & Spring“.
Turite mums klausimą? Prašau paminėti tai komentarų skiltyje „„Daemon“ gija „Java“Dienoraštį ir mes kuo greičiau susisieksime su jumis.
įgyvendinant susietą sąrašą c