Lanka on kevyt prosessi. Langat vähentävät tehottomuutta estämällä CPU-jaksojen tuhlauksen. Java, joka on suosittu ja helppo ohjelmointikieli, tarjoaa sisäänrakennetun tuen . Jokaisella säikeellä on prioriteetti ja korkeamman prioriteetin omaava pyrkii suorittamaan nopeammin. Toisin kuin muut säikeet, Java-palvelun säikeet ovat matalan prioriteetin säikeitä, jotka kulkevat taustalla.
Tämä blogi esittelee Java Daemon -säikeet seuraavassa järjestyksessä.
c ++ miten nimitiloja käytetään
Aloitetaan. :-)
Mikä on Daemon-ketju Java-ohjelmassa?
Java-palvelun Daemon-säie tarjoaa palvelua taustalla toimivalle käyttäjäkierteelle. Sitä pidetään matalan prioriteetin säikeenä, jota käytetään tehtävien kuten roskien keräyksen suorittamiseen. Javassa jokaisella säikeellä on prioriteetti ja korkeamman prioriteetin omaava pyrkii suorittamaan nopeammin. Myös, Java-virtuaalikone (JVM) päättää tämän ketjun automaattisesti. Se ei voi estää JVM: ää poistumasta, kun kaikki käyttäjän ketjut suorittavat suorituksen, vaikka itse daemon-säie olisi käynnissä.
Katsotaanpa, miten daemon-säikeet eroavat käyttäjän säikeistä (ei-daemon).
Daemon-säie vs käyttäjän säikeet
Suurin ero daemon-ketjun ja käyttäjäkierteen välillä johtuu JVM: stä. Kuten edellä keskusteltiin, Java Virtual Machine ei odota, että daemon-säie päättyy suorituksensa, kun se odottaa käyttäjän säiettä loppuun. Tutkitaan lisää eroja Daemon-ketjun ja käyttäjäkierteen välillä alla olevan taulukon avulla:
Daemon-langat | Käyttäjälangat (ei-daemon) |
Daemon-ketjut on luonut JVM | Käyttäjäketjut luodaan itse sovelluksen avulla |
JVM ei odota sen suorittamista | JVM odottaa, kunnes toteutus on valmis |
Matala prioriteetti langat | Korkean prioriteetin säikeet |
Käytetään taustatehtäviin (ei kriittisiä) | Käytetään etualan tehtäviin (kriittinen) |
Elämä riippuu käyttäjän säikeistä | Elämä on itsenäistä |
Nyt kun olet selvillä eroista daemon vs. käyttäjä säikeiden välillä, katsokaamme esimerkkiohjelmaa tarkistaaksemme, onko ketju daemon vai ei.
public class ExampleThread laajentaa säiettä {@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 ('on' + obj.getName () + 'Daemon-säie:' + obj.isDaemon ()) System.out.println ('on' + Thread.currentThread (). getName () + 'Daemon-säie:' + Thread.currentThread (). isDaemon ())}}
Tuotos: on Thread-0 Daemon Thread: false
Käyttäjän säie tai muu kuin Daemon-säie
on pääosin Daemon-säie: väärä
Etenen eteenpäin, katsotaanpa erilaisia menetelmiä Java-palvelun säikeessä.
Menetelmät Java Daemon -säikeessä
Java-palvelussa on kaksi päämenetelmää:
Menetelmät | Kuvaus |
public void setDaemon (looginen tila) | Merkitsee tämän ketjun joko daemon- tai käyttäjän säikeeksi (ei-daemon-säie). |
julkinen Boolen isDaemon () | Testataan, onko tämä ketju daemon-säie vai ei. Palauttaa arvon tosi, jos säie on Daemon muu väärä. |
Harkitse seuraavaa koodia käytännön toteuttamiseksi:
public class Demothread laajentaa Thread {// Java-ohjelmaa osoittaakseen // setDaemon () ja isDaemon () -menetelmän käytön. public Demothread (String name) {super (name)} public void run () {// Tarkistetaan, onko ketju Daemon vai ei, jos (Thread.currentThread (). isDaemon ()) {System.out.println (getName () + 'on Daemon-ketju')} else {System.out.println (getName () + 'on käyttäjän säie')}} public static void main (String [] args) {Demothread thread1 = new Demothread ('thread1') Demothread thread2 = new Demothread ('thread2') Demothread thread3 = new Demothread ('thread3') // Käyttäjän säiettä thread1 asetetaan Daemon thread1.setDaemon (true) // aloitetaan kaksi ensimmäistä säiettä thread1.start () thread2.start () / / Käyttäjän ketjun thread3 asettaminen Daemon thread3.setDaemon (true) thread3.start ()}}
Tuotos:
thread2 on käyttäjän säie
thread1 on Daemon-säie
Tämä on ”Daemon-säie Java-blogissa” loppu. Toivottavasti teillä on selvä sisältö, josta olen keskustellut edellä. Lue seuraava bloginipäällä missä olen luetellut 75 parasta haastattelukysymystä ja vastausta, jotka auttavat sinua erottumaan haastatteluprosessissa.
Nyt kun olet ymmärtänyt Java-kokoelmat, tutustu Edureka, luotettava verkko-oppimisyritys, jolla on yli 250 000 tyytyväisen oppijan verkosto, joka levisi ympäri maailmaa. Edurekan Java J2EE- ja SOA-koulutus- ja sertifiointikurssi on suunniteltu opiskelijoille ja ammattilaisille, jotka haluavat olla Java-kehittäjiä. Kurssi on suunniteltu antamaan sinulle etumatka Java-ohjelmointiin ja kouluttamaan sekä ydin- että edistyneitä Java-konsepteja sekä erilaisia Java-kehyksiä, kuten Hibernate & Spring.
Onko sinulla kysymys meille? Mainitse se tämän kommenttiosassa.Daemon-säie Java: ssa”-Blogi ja palaamme sinuun mahdollisimman pian.
kuinka kääntää numero