Daemon Thread sa Java: Alamin kung ano ang mga pamamaraan nito



Ang Daemon thread sa Java ay nagbibigay ng serbisyo sa thread ng gumagamit na tumatakbo sa background. Alamin ang mga pamamaraan nito at paano ito naiiba sa mga thread ng gumagamit.

Ang isang thread ay isang magaan na proseso. Ang mga thread ay nagbabawas ng kawalan ng husay sa pamamagitan ng pagpigil sa pag-aaksaya ng mga siklo ng CPU. Ang Java, na isang tanyag at madaling wika ng programa, ay nagbibigay ng built-in na suporta sa . Ang bawat thread ay may priyoridad at ang may mas mataas na priyoridad ay may kaugaliang maisagawa nang mas mabilis. Hindi tulad ng iba pang mga thread, ang mga daemon thread sa Java ay isang mababang priyoridad na thread na tumatakbo sa likuran.

Ipakilala ka ng blog na ito sa mga thread ng Java Daemon sa sumusunod na pagkakasunud-sunod.





ay isang postgraduate na master

Magsimula na tayo. :-)



Java - thread ng daemon sa Java - Edureka

Ano ang isang Daemon Thread sa Java?

Ang Daemon thread sa Java ay nagbibigay ng serbisyo sa thread ng gumagamit na tumatakbo sa background. Ito ay itinuturing na isang mababang thread ng priyoridad na ginagamit upang maisagawa ang mga gawain tulad ng pagkolekta ng basura. Sa java, ang bawat thread ay may priyoridad at ang isa na may mas mataas na priyoridad ay may kaugaliang maisagawa nang mas mabilis. Gayundin, Java Virtual Machine (JVM) awtomatikong tinatapos ang thread na ito. Hindi nito mapipigilan ang paglabas ng JVM kapag natapos ng lahat ng mga thread ng gumagamit ang kanilang pagpapatupad, kahit na ang daemon thread mismo ay tumatakbo.

Sa pagsulong, tingnan natin kung paano naiiba ang mga thread ng daemon mula sa mga thread ng gumagamit (non-daemon).



Daemon Thread vs Thread ng Gumagamit

Ang pangunahing pagkakaiba sa pagitan ng isang thread ng daemon at thread ng gumagamit ay dahil sa JVM. Tulad ng tinalakay sa itaas, ang Java Virtual Machine ay hindi naghihintay para sa isang thread ng daemon upang matapos ang pagpapatupad nito habang naghihintay ito sa pagtatapos ng thread ng gumagamit. Tuklasin natin ang ilang higit pang mga pagkakaiba sa pagitan ng Daemon thread at thread ng gumagamit sa tulong ng isang talahanayan sa ibaba:

Mga Daemon Thread Mga Thread ng Gumagamit (Non-daemon)

Ang mga thread ng Daemon ay nilikha ng JVM

Ang mga thread ng gumagamit ay nilikha ng isang application mismo

Hindi naghihintay ang JVM para sa pagpapatupad nito

Naghihintay si JVM hanggang sa makumpleto ang pagpapatupad

Mababang mga thread ng Priority

Mga thread na may mataas na priyoridad

Ginamit para sa mga gawain sa background (hindi kritikal)

Ginamit para sa mga gawain sa harapan (kritikal)

Ang buhay ay nakasalalay sa mga thread ng gumagamit

Malaya ang buhay

Ngayon na malinaw ka na sa pagkakaiba sa pagitan ng mga daemon vs thread ng gumagamit, tingnan natin ang isang halimbawa ng programa upang suriin kung ang isang thread ay isang thread ng daemon o di-daemon.

pampublikong klase ang HalimbawaThread ay nagpapalawak sa Thread {@Override public void run () {System.out.println ('Thread ng User o Non-Daemon Thread')} pampublikong static void main (String [] args) {HalimbawaThread obj = bagong HalimbawaThread () .start () System.out.println ('is' + obj.getName () + 'a Daemon Thread:' + obj.isDaemon ()) System.out.println ('is' + Thread.currentThread (). getName () + 'isang Daemon Thread:' + Thread.currentThread (). isDaemon ())}}

Output: ay ang Thread-0 isang Daemon Thread: false
Thread ng Gumagamit o Thread na Hindi-Daemon
ay pangunahing isang Daemon Thread: false

Sa pagsulong, tingnan natin ang iba't ibang mga pamamaraan sa daemon thread sa Java.

Mga Pamamaraan sa Java Daemon Thread

Mayroong dalawang pangunahing pamamaraan para sa isang thread ng daemon sa Java, katulad ng:

Paraan Paglalarawan
public void setDaemon (katayuan ng boolean)Minarkahan ang thread na ito bilang alinman sa isang thread ng daemon o isang thread ng gumagamit (non-daemon thread).
public boolean isDaemon ()Ginamit upang subukan kung ang thread na ito ay isang thread ng daemon o hindi. Nagbabalik ng totoo kung ang thread ay Daemon na hindi totoo.
Isaalang-alang ang code sa ibaba para sa praktikal na pagpapatupad:
pampublikong klase Ang Demothread ay nagpapalawak ng Thread {// Java program upang maipakita ang paggamit ng // setDaemon () at isDaemon () na pamamaraan. public Demothread (String name) {super (name)} public void run () {// Sinusuri kung ang thread ay Daemon o hindi kung (Thread.currentThread (). isDaemon ()) {System.out.println (getName () + 'ay Daemon thread')} iba pa {System.out.println (getName () + 'ay User thread')}} pampublikong static void main (String [] args) {Demothread thread1 = new Demothread ('thread1') Demothread thread2 = bagong Demothread ('thread2') Demothread thread3 = bagong Demothread ('thread3') // Pagtatakda ng thread ng thread ng gumagamit sa Daemon thread1.setDaemon (totoo) // pagsisimula ng unang 2 mga thread thread1.start () thread2.start () / / Pagtatakda ng thread ng gumagamit ng thread3 sa Daemon thread3.setDaemon (totoo) thread3.start ()}}

Output:
ang thread2 ay User thread
ang thread1 ay ang Daemon thread

Ito ang pagtatapos ng blog na 'Daemon thread in Java'. Inaasahan kong malinaw kayo sa nilalaman na tinalakay ko sa itaas. Basahin mo ang susunod kong blogsa kung saan ko nakalista ang nangungunang 75 mga katanungan at sagot sa pakikipanayam na makakatulong sa iyo na italaga sa proseso ng pakikipanayam.

Ngayon na naintindihan mo ang Mga Koleksyon ng Java, tingnan ang ni Edureka, isang pinagkakatiwalaang kumpanya sa pag-aaral sa online na may isang network na higit sa 250,000 nasiyahan na mga nag-aaral na kumalat sa buong mundo. Ang kurso sa pagsasanay at sertipikasyon ng Java J2EE at SOA ng Edureka ay idinisenyo para sa mga mag-aaral at propesyonal na nais na maging isang Java Developer. Ang kurso ay dinisenyo upang bigyan ka ng isang panimula sa pag-program ng Java at sanayin ka para sa parehong core at advanced na mga konsepto ng Java kasama ang iba't ibang mga balangkas ng Java tulad ng Hibernate & Spring.

May tanong ba sa amin? Mangyaring banggitin ito sa seksyon ng mga komento ng 'Daemon thread sa Java”Blog at babalikan ka namin sa lalong madaling panahon.

halimbawa ng pag-uusap sa remote na paraan ng java