Daemon Thread di Java: Ketahui apa saja metodenya



Utas daemon di Java menyediakan layanan ke utas pengguna yang berjalan di latar belakang. Pelajari metodenya dan apa bedanya dengan utas pengguna.

Sebuah utas adalah proses yang ringan. Threads mengurangi inefisiensi dengan mencegah pemborosan siklus CPU. Java, sebagai bahasa pemrograman yang populer dan mudah, menyediakan dukungan bawaan untuk . Setiap utas memiliki prioritasnya sendiri dan utas dengan prioritas lebih tinggi cenderung mengeksekusi lebih cepat. Tidak seperti utas lainnya, utas daemon di Java adalah utas prioritas rendah yang berjalan di latar belakang.

Blog ini akan memperkenalkan Anda ke utas Java Daemon dalam urutan berikut.





ke metode string di java

Mari kita mulai. :-)



Java - utas daemon di Jawa - Edureka

Apa itu Daemon Thread di Java?

Utas daemon di Java menyediakan layanan ke utas pengguna yang berjalan di latar belakang. Ini dianggap sebagai utas prioritas rendah yang digunakan untuk melakukan tugas-tugas seperti pengumpulan sampah. Di java, setiap thread memiliki prioritasnya sendiri dan thread dengan prioritas lebih tinggi cenderung mengeksekusi lebih cepat. Juga, Mesin Virtual Java (JVM) mengakhiri utas ini secara otomatis. Itu tidak dapat mencegah keluarnya JVM ketika semua utas pengguna menyelesaikan eksekusinya, bahkan jika utas daemon itu sendiri sedang berjalan.

Selanjutnya, mari kita lihat bagaimana utas daemon berbeda dari utas pengguna (non-daemon).



Daemon Thread vs User Threads

Perbedaan utama antara utas daemon dan utas pengguna adalah karena JVM. Seperti dibahas di atas, Java Virtual Machine tidak menunggu utas daemon menyelesaikan eksekusinya sementara menunggu utas pengguna selesai. Mari kita jelajahi beberapa perbedaan lagi antara utas Daemon dan utas pengguna dengan bantuan tabel di bawah ini:

Daemon Threads Utas Pengguna (Non-daemon)

Untaian daemon dibuat oleh JVM

Utas pengguna dibuat oleh aplikasi itu sendiri

JVM tidak menunggu eksekusinya

JVM menunggu hingga eksekusi selesai

cara menggunakan trim di java

Utas Prioritas Rendah

Utas prioritas tinggi

Digunakan untuk tugas latar belakang (tidak kritis)

Digunakan untuk tugas latar depan (kritis)

Hidup tergantung pada utas pengguna

Hidup itu mandiri

Sekarang Anda sudah jelas dengan perbedaan antara daemon vs utas pengguna, mari kita lihat program contoh untuk memeriksa apakah utas adalah utas daemon atau non-daemon.

public class ExampleThread memperluas Thread {@Override public void run () {System.out.println ('User Thread atau Non-Daemon Thread')} public static void main (String [] args) {ExampleThread obj = baru ExampleThread () obj .start () System.out.println ('is' + obj.getName () + 'Daemon Thread:' + obj.isDaemon ()) System.out.println ('is' + Thread.currentThread (). getName () + 'Daemon Thread:' + Thread.currentThread (). isDaemon ())}}

Keluaran: adalah Thread-0 a Daemon Thread: false
Utas Pengguna atau Utas Non-Daemon
utama adalah Thread Daemon: false

penambahan dua angka di java

Selanjutnya, mari kita lihat metode berbeda dalam untaian daemon di Java.

Metode di Thread Daemon Java

Ada dua metode utama untaian daemon di Java, yaitu:

Metode Deskripsi
public void setDaemon (status boolean)Tandai utas ini sebagai utas daemon atau utas pengguna (utas non-daemon).
public boolean isDaemon ()Digunakan untuk menguji apakah utas ini adalah utas daemon atau bukan. Mengembalikan nilai true jika utas adalah Daemon else false.
Pertimbangkan kode di bawah ini untuk implementasi praktis:
public class Demothread extends Thread {// program Java untuk mendemonstrasikan penggunaan metode // setDaemon () dan isDaemon (). public Demothread (String name) {super (name)} public void run () {// Memeriksa apakah utas adalah Daemon atau tidak jika (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') // Menyetel thread pengguna1 ke Daemon thread1.setDaemon (true) // memulai 2 thread pertama thread1.start () thread2.start () / / Menyetel pengguna thread thread3 ke Daemon thread3.setDaemon (true) thread3.start ()}}

Keluaran:
thread2 adalah utas pengguna
thread1 adalah thread Daemon

Ini adalah akhir dari blog 'Untaian Daemon di Java'. Saya harap kalian jelas dengan konten yang telah saya bahas di atas. Bacalah blog saya berikutnyadi di mana saya telah membuat daftar 75 pertanyaan dan jawaban wawancara teratas yang akan membantu Anda mengatur dalam proses wawancara.

Sekarang Anda telah memahami Koleksi Java, lihat oleh Edureka, perusahaan pembelajaran online tepercaya dengan jaringan lebih dari 250.000 pelajar yang puas dan tersebar di seluruh dunia. Kursus pelatihan dan sertifikasi Java J2EE dan SOA Edureka dirancang untuk siswa dan profesional yang ingin menjadi Pengembang Java. Kursus ini dirancang untuk memberi Anda permulaan dalam pemrograman Java dan melatih Anda untuk konsep Java inti dan lanjutan bersama dengan berbagai kerangka kerja Java seperti Hibernate & Spring.

Ada pertanyaan untuk kami? Harap sebutkan di bagian komentar ini 'Utas daemon di JavaBlog dan kami akan menghubungi Anda kembali secepat mungkin.