Niť je ľahký proces. Vlákna znižujú neefektivitu tým, že bránia plytvaniu cyklami CPU. Java, populárny a ľahký programovací jazyk, poskytuje zabudovanú podporu pre . Každé vlákno má svoju prioritu a vlákno s vyššou prioritou má tendenciu spúšťať sa rýchlejšie. Na rozdiel od iných vlákien sú démonové vlákna v Jave vlákno s nízkou prioritou, ktoré beží na pozadí.
Tento blog vám predstaví vlákna Java Daemon v nasledujúcom poradí.
čo je značka span v html
Začnime. :-)
Čo je to vlákno Daemon v Jave?
Vlákno daemon v Jave poskytuje službu užívateľskému vláknu, ktoré beží na pozadí. Považuje sa za vlákno s nízkou prioritou, ktoré sa používa na vykonávanie úloh, ako je odvoz odpadu. V Jave má každé vlákno svoju prioritu a vlákno s vyššou prioritou sa zvykne vykonávať rýchlejšie. Tiež Virtuálny počítač Java (JVM) automaticky ukončí toto vlákno. Nemôže zabrániť JVM v ukončení, keď všetky užívateľské vlákna skončia svoje vykonávanie, aj keď je samotné vlákno démona spustené.
Ďalej sa pozrime, ako sa vlákna démona líšia od vlákien používateľov (iné ako démon).
Vlákno Daemon vs používateľské vlákna
Hlavný rozdiel medzi vláknom démona a vláknom používateľa je v prostredí JVM. Ako bolo uvedené vyššie, Java Virtual Machine nečaká na dokončenie vykonávania vlákna démona, zatiaľ čo čaká na dokončenie vlákna používateľa. Pozrime sa na niektoré ďalšie rozdiely medzi vláknom Daemon a vláknom používateľa pomocou nasledujúcej tabuľky:
Vlákna démonov | Používateľské vlákna (nedémon) |
Vlákna démonov vytvára JVM | Vlákna používateľov sú vytvárané samotnou aplikáciou |
JVM nečaká na svoje vykonanie | JVM počká, kým sa poprava neskončí |
Vlákna s nízkou prioritou | Vlákna s vysokou prioritou |
Používa sa na úlohy na pozadí (nie je kritické) | Používa sa na popredné úlohy (kritické) |
Život závisí od vlákien používateľov | Život je nezávislý |
Teraz, keď máte jasno v rozdieloch medzi vláknami démonov a používateľov, sa pozrime na ukážkový program, ktorý skontroluje, či je vlákno démonovým alebo nedémonickým vláknom.
public class ExampleThread extends Thread {@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 () + 'vlákno démona:' + obj.isDaemon ()) System.out.println ('je' + Thread.currentThread (). getName () + 'a Daemon Thread:' + Thread.currentThread (). isDaemon ())}}
Výkon: je Thread-0 a Daemon Thread: false
Používateľské vlákno alebo vlákno iného ako démon
je hlavné vlákno démona: false
Ďalej sa pozrime na rôzne metódy v daemonovom vlákne v Jave.
Metódy v vlákne Java Daemon
V jazyku Java existujú dve hlavné metódy pre vlákno démonov, a to:
Metódy | Popis |
public void setDaemon (boolovský stav) | Označí toto vlákno buď ako vlákno démona, alebo ako vlákno používateľa (vlákno iné ako démon). |
public boolean isDaemon () | Používa sa na testovanie, či je toto vlákno démonovým vláknom alebo nie. Vráti hodnotu true, ak je vlákno Daemon else false. |
Z praktického hľadiska zvážte nasledujúci kód:
verejná trieda Demothread rozširuje program Thread {// Java o demonštráciu použitia metód // setDaemon () a isDaemon (). public Demothread (názov reťazca) {super (názov)} public void run () {// Kontrola, či je vlákno Daemon alebo nie, ak (Thread.currentThread (). isDaemon ()) {System.out.println (getName () + 'je vlákno Daemon')} else {System.out.println (getName () + 'je vlákno používateľa')}} public static void main (String [] args) {Demothread thread1 = new Demothread ('thread1') Demothread thread2 = new Demothread ('thread2') Demothread thread3 = new Demothread ('thread3') // Nastavenie užívateľského vlákna thread1 na Daemon thread1.setDaemon (true) // začínajúce prvé 2 vlákna thread1.start () thread2.start () / / Nastavenie používateľského vlákna thread3 na Daemon thread3.setDaemon (true) thread3.start ()}}
Výkon:
thread2 je užívateľské vlákno
thread1 je daemonovo vlákno
Týmto sa končí blog „Daemon thread in Java“. Dúfam, že máte jasno v obsahu, o ktorom som hovoril vyššie. Prečítajte si môj ďalší blogna kde som uviedol 75 najdôležitejších otázok a odpovedí na pohovory, ktoré vám pomôžu oddeliť sa v procese pohovoru.
Teraz, keď ste porozumeli zbierkam Java, pozrite sa na autor: Edureka, dôveryhodná online vzdelávacia spoločnosť so sieťou viac ako 250 000 spokojných študentov rozmiestnených po celom svete. Výcvikový a certifikačný kurz Edureka Java J2EE a SOA je určený pre študentov a profesionálov, ktorí chcú byť vývojármi Java. Kurz je navrhnutý tak, aby vám dal náskok v programovaní v Jave a naučil vás základné aj pokročilé koncepty Javy spolu s rôznymi rámcami Java, ako je Hibernate & Spring.
Máte na nás otázku? Uveďte to prosím v sekcii komentárov tohto „Vlákno démona v Jave”Blog a my sa vám ozveme čo najskôr.
java kód na ukončenie programu