Wątek to lekki proces. Wątki zmniejszają nieefektywność, zapobiegając marnowaniu cykli procesora. Java, będąca popularnym i łatwym językiem programowania, zapewnia wbudowaną obsługę . Każdy wątek ma swój priorytet, a ten z wyższym priorytetem ma tendencję do szybszego wykonywania. W przeciwieństwie do innych wątków, wątki demonów w Javie są wątkami o niskim priorytecie, które działają w tle.
Ten blog wprowadzi Cię w wątki Java Daemon w następującej kolejności.
używanie r do uczenia maszynowego
Zacznijmy. :-)
Co to jest wątek demona w Javie?
Wątek demona w Javie zapewnia obsługę wątku użytkownika, który działa w tle. Uważa się, że jest to wątek o niskim priorytecie, który jest używany do wykonywania zadań, takich jak czyszczenie pamięci. W Javie każdy wątek ma swój priorytet, a ten z wyższym priorytetem ma tendencję do szybszego wykonywania. Również, Wirtualna maszyna Java (JVM) automatycznie kończy ten wątek. Nie może zapobiec zamknięciu maszyny JVM po zakończeniu wykonywania wszystkich wątków użytkownika, nawet jeśli działa sam wątek demona.
Przechodząc dalej, zobaczmy, czym różnią się wątki demonów od wątków użytkowników (niebędące demonami).
Wątek demona a wątki użytkownika
Główna różnica między wątkiem demona a wątkiem użytkownika wynika z JVM. Jak wspomniano powyżej, Java Virtual Machine nie czeka na zakończenie wykonywania wątku demona, podczas gdy czeka na zakończenie wątku użytkownika. Zbadajmy więcej różnic między wątkiem Daemon a wątkiem użytkownika, korzystając z poniższej tabeli:
Daemon Threads | Wątki użytkownika (inne niż demon) |
Wątki demona są tworzone przez JVM | Wątki użytkownika są tworzone przez samą aplikację |
JVM nie czeka na swoje wykonanie | JVM czeka na zakończenie wykonywania |
Wątki o niskim priorytecie | Wątki o wysokim priorytecie |
Używany do zadań w tle (nie krytyczny) | Używany do zadań pierwszego planu (krytyczne) |
Życie zależy od wątków użytkowników | Życie jest niezależne |
Teraz, gdy już wiesz, jaka jest różnica między wątkami demonów i wątków użytkownika, przyjrzyjmy się przykładowemu programowi, aby sprawdzić, czy wątek jest demonem, czy też nie.
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 ('is' + obj.getName () + 'a Daemon Thread:' + obj.isDaemon ()) System.out.println ('is' + Thread.currentThread (). getName () + 'a Daemon Thread:' + Thread.currentThread (). isDaemon ())}}
Wynik: czy Thread-0 to Daemon Thread: false
Wątek użytkownika lub wątek niebędący demonem
jest głównym wątkiem demona: false
Idąc dalej, zobaczmy różne metody w wątku demona w Javie.
Metody w wątku Java Daemon
Istnieją dwie główne metody tworzenia wątku demona w Javie, a mianowicie:
Metody | Opis |
public void setDaemon (stan logiczny) | Oznacza ten wątek jako wątek demona lub wątek użytkownika (wątek inny niż demon). |
public boolean isDaemon () | Służy do testowania, czy ten wątek jest wątkiem demona, czy nie. Zwraca wartość true, jeśli wątek ma wartość Daemon, w przeciwnym razie fałsz. |
Rozważ poniższy kod dla praktycznej implementacji:
public class Demothread rozszerza program Thread {// Java, aby zademonstrować użycie metody // setDaemon () i isDaemon (). public Demothread (String name) {super (name)} public void run () {// Sprawdzanie, czy wątek jest demonem czy nie if (Thread.currentThread (). isDaemon ()) {System.out.println (getName () + 'to wątek demona')} else {System.out.println (getName () + 'to wątek użytkownika')}} public static void main (String [] args) {Demothread thread1 = new Demothread ('thread1') Demothread thread2 = new Demothread ('thread2') Demothread thread3 = new Demothread ('thread3') // Ustawienie wątku użytkownika thread1 na Daemon thread1.setDaemon (true) // rozpoczęcie pierwszych 2 wątków thread1.start () thread2.start () / / Ustawianie wątku użytkownika thread3 na Daemon thread3.setDaemon (true) thread3.start ()}}
Wynik:
Thread2 to wątek użytkownika
Wątek1 to wątek demona
To już koniec bloga „Wątek demona w Javie”. Mam nadzieję, że jesteście pewni treści, które omówiłem powyżej. Przeczytaj mój następny blogna gdzie wymieniłem 75 pytań i odpowiedzi, które pomogą Ci się wyróżnić w trakcie rozmowy kwalifikacyjnej.
Teraz, gdy zrozumiałeś kolekcje Java, sprawdź autorstwa Edureka, zaufanej firmy zajmującej się edukacją online, z siecią ponad 250 000 zadowolonych uczniów rozsianych po całym świecie. Szkolenie i certyfikacja J2EE i SOA firmy Edureka jest przeznaczony dla studentów i profesjonalistów, którzy chcą zostać programistami Java. Kurs ma na celu zapewnienie przewagi w programowaniu w języku Java i szkolenie zarówno podstawowych, jak i zaawansowanych koncepcji języka Java, a także różnych struktur Java, takich jak Hibernate i Spring.
Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy tego „Wątek demona w Javie”, A my skontaktujemy się z Tobą tak szybko, jak to możliwe.
jak zainstalować php w systemie Windows 7