Daemon Thread в Java: Знайте кои са методите



Daemon нишка в Java предоставя услуга на потребителската нишка, която работи във фонов режим. Научете неговите методи и как се различава от потребителските нишки.

Конецът е лек процес. Нишките намаляват неефективността, като предотвратяват загубата на процесорни цикли. Java, като популярен и лесен език за програмиране, осигурява вградена поддръжка за . Всяка нишка има свой приоритет и тази с по-висок приоритет има тенденция да се изпълнява по-бързо. За разлика от другите нишки, демоновите нишки в Java са нишка с нисък приоритет, която работи във фонов режим.

Този блог ще ви запознае с нишките на Java Daemon в следния ред.





какво е jit компилатор в Java

Да започваме. :-)



Java - демонова нишка в Java - Edureka

Какво представлява Daemon Thread в Java?

Daemon нишка в Java предоставя услуга на потребителската нишка, която работи във фонов режим. Счита се за нишка с нисък приоритет, която се използва за изпълнение на задачи като събиране на боклук. В java всяка нишка има своя приоритет, а тази с по-висок приоритет има тенденция да се изпълнява по-бързо. Също, Java виртуална машина (JVM) прекратява тази нишка автоматично. Не може да попречи на JVM да излезе, когато всички потребителски нишки приключат изпълнението си, дори ако самата нишка демон се изпълнява.

Продължавайки напред, нека видим по какъв начин демоновите нишки се различават от потребителските нишки (които не са демони).



Daemon Thread срещу потребителски нишки

Основната разлика между демона и потребителската нишка е заради JVM. Както беше обсъдено по-горе, Java Virtual Machine не чака демоновата нишка да завърши изпълнението си, докато чака потребителската нишка да завърши. Нека разгледаме още някои разлики между Daemon нишка и потребителска нишка с помощта на таблица по-долу:

Daemon нишки Потребителски нишки (без демон)

Daemon нишки са създадени от JVM

Потребителските нишки се създават от самото приложение

JVM не чака изпълнението му

JVM изчаква, докато изпълнението завърши

Нишки с нисък приоритет

Нишки с висок приоритет

Използва се за фонови задачи (не е критично)

Използва се за задачи от преден план (критично)

Животът зависи от потребителските нишки

Животът е независим

След като вече сте наясно с разликата между демони и потребителски нишки, нека разгледаме примерна програма, за да проверим дали нишката е демонова или недемонова нишка.

публичен клас ExampleThread разширява нишката {@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 ('is' + obj.getName () + 'a Daemon Thread:' + obj.isDaemon ()) System.out.println ('is' + Thread.currentThread (). getName () + 'a Daemon Thread:' + Thread.currentThread (). isDaemon ())}}

Изход: е Thread-0 a Daemon Thread: false
Потребителска нишка или не-демонова нишка
е основен Daemon Thread: false

Продължавайки напред, нека видим различни методи в демона в Java.

Методи в Java Daemon Thread

Има два основни метода за демонова нишка в Java, а именно:

Методи Описание
public void setDaemon (логическо състояние)Маркира тази нишка или като демонова нишка или като потребителска нишка (не-демонова нишка).
публичен булев isDaemon ()Използва се за тестване дали тази нишка е демонова нишка или не. Връща true, ако нишката е Daemon else false.
Помислете за кода по-долу за практическо изпълнение:
публичният клас Demothread разширява програмата Thread {// Java, за да демонстрира използването на // setDaemon () и isDaemon () метод. public Demothread (String name) {super (name)} public void run () {// Проверка дали нишката е Daemon или не, ако (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') // Задаване на потребителска нишка thread1 на Daemon thread1.setDaemon (вярно) // стартиране на първите 2 нишки thread1.start () thread2.start () / / Задаване на потребителска нишка thread3 на Daemon thread3.setDaemon (вярно) thread3.start ()}}

Изход:
thread2 е потребителска нишка
thread1 е Daemon нишка

Това е краят на блога „Daemon thread в Java“. Надявам се, че вие ​​сте наясно със съдържанието, което обсъдих по-горе. Прочетете следващия ми блогНа където съм изброил топ 75 въпроса и отговори за интервю, които ще ви помогнат да се отделите в процеса на интервюто.

След като разбрахте Java Collections, разгледайте от Edureka, доверена компания за онлайн обучение с мрежа от над 250 000 доволни учащи, разпространени по целия свят. Курсът за обучение и сертифициране на Java J2EE и SOA на Edureka е предназначен за студенти и професионалисти, които искат да бъдат Java Developer. Курсът е предназначен да ви даде начален старт в програмирането на Java и да ви обучи както за основни, така и за разширени Java концепции, заедно с различни Java рамки като Hibernate & Spring.

Имате въпрос към нас? Моля, споменете го в раздела за коментари на този „Daemon нишка в Java”Блог и ние ще се свържем с вас възможно най-скоро.

pmi-acp си заслужава