Benang Daemon di Java: Ketahui kaedahnya



Benang Daemon di Java memberikan perkhidmatan kepada utas pengguna yang berjalan di latar belakang. Ketahui kaedahnya dan bagaimana ia berbeza dengan utas pengguna.

Benang adalah proses yang ringan. Benang mengurangkan ketidakcekapan dengan mencegah pembaziran kitaran CPU. Java, sebagai bahasa pengaturcaraan yang popular dan mudah, menyediakan sokongan terpadu untuk . Setiap utas mempunyai keutamaan dan yang mempunyai keutamaan lebih tinggi cenderung berjalan lebih cepat. Tidak seperti utas lain, benang daemon di Java adalah utas keutamaan rendah yang berjalan di latar belakang.

Blog ini akan memperkenalkan anda kepada utas Java Daemon dalam urutan berikut.





Mari kita mulakan. :-)



Java - benang daemon di Java - Edureka

Apakah Benang Daemon di Jawa?

Benang Daemon di Java memberikan perkhidmatan kepada utas pengguna yang berjalan di latar belakang. Ia dianggap sebagai utas keutamaan rendah yang digunakan untuk melakukan tugas seperti pengumpulan sampah. Di java, setiap utas mempunyai keutamaan dan yang mempunyai keutamaan yang lebih tinggi cenderung berjalan lebih cepat. Juga, Mesin Maya Java (JVM) menamatkan thread ini secara automatik. Ia tidak dapat menghalang JVM keluar ketika semua utas pengguna menyelesaikan pelaksanaannya, walaupun daemon thread itu sendiri sedang berjalan.

perbezaan antara qtp dan selenium

Melangkah ke depan, mari kita lihat bagaimana benang daemon berbeza dari utas pengguna (bukan daemon).



Benang Daemon vs Thread Pengguna

Perbezaan utama antara benang daemon dan utas pengguna adalah kerana JVM. Seperti yang dibincangkan di atas, Mesin Maya Java tidak menunggu benang daemon menyelesaikan pelaksanaannya sementara menunggu untaian pengguna selesai. Mari kita terokai beberapa lagi perbezaan antara benang Daemon dan utas pengguna dengan bantuan jadual di bawah:

Benang Daemon Benang Pengguna (Bukan daemon)

Benang Daemon dicipta oleh JVM

Benang pengguna dibuat oleh aplikasi itu sendiri

JVM tidak menunggu pelaksanaannya

JVM menunggu sehingga pelaksanaan selesai

cara menggunakan trim di java

Benang Keutamaan Rendah

Benang keutamaan tinggi

Digunakan untuk tugas latar belakang (tidak kritikal)

Digunakan untuk tugas latar depan (kritikal)

Kehidupan bergantung pada utas pengguna

Hidup ini berdikari

Sekarang anda sudah jelas dengan perbezaan antara benang daemon vs pengguna, mari kita lihat contoh program untuk memeriksa sama ada utas itu benang daemon atau bukan daemon.

kelas awam ContohThread meluaskan Thread {@Override public void run () {System.out.println ('Thread Pengguna atau Non-Daemon Thread')} utama kosong statik awam (String [] args) {ExampleThread obj = newThThThread () obj .start () System.out.println ('is' + obj.getName () + 'a Daemon Thread:' + obj.isDaemon ()) System.out.println ('is' + Thread.currentThread (). getName () + 'Benang Daemon:' + Thread.currentThread (). isDaemon ())}}

Pengeluaran: adalah Thread-0 a Thread Daemon: false
Benang Pengguna atau Benang Bukan Daemon
adalah utama Daemon Thread: false

Melangkah ke depan, mari kita lihat kaedah yang berbeza dalam benang daemon di Java.

Kaedah dalam Java Daemon Thread

Ada dua kaedah utama untuk benang daemon di Java, yaitu:

Kaedah Penerangan
public void setDaemon (status boolean)Menandai utas ini sebagai benang daemon atau utas pengguna (utas bukan daemon).
boolean awam adalahDaemon ()Digunakan untuk menguji sama ada benang ini adalah benang daemon atau tidak. Kembali benar jika benang itu Daemon lain palsu.
Pertimbangkan kod di bawah untuk pelaksanaan praktikal:
kelas awam Demothread meluaskan program Thread {// Java untuk menunjukkan penggunaan kaedah // setDaemon () dan isDaemon (). public Demothread (String name) {super (name)} public void run () {// Memeriksa sama ada benang itu adalah Daemon atau tidak jika (Thread.currentThread (). isDaemon ()) {System.out.println (getName () + 'is Daemon thread')} lain {System.out.println (getName () + 'is User thread')}} public static void main (String [] args) {Demothread thread1 = new Demothread ('thread1') Demothread thread2 = Demothread baru ('thread2') Demothread thread3 = demothread baru ('thread3') // Menetapkan benang benang pengguna1 ke Daemon thread1.setDaemon (benar) // memulakan benang 2 utas pertama1.start () thread2.start () / / Menetapkan thread utas pengguna3 ke Daemon thread3.setDaemon (true) thread3.start ()}}

Pengeluaran:
thread2 adalah utas Pengguna
thread1 adalah benang Daemon

Ini adalah akhir dari blog 'Daemon thread in Java'. Saya harap kalian jelas dengan isi yang telah saya bincangkan di atas. Baca blog saya seterusnyapada di mana saya telah menyenaraikan 75 soalan dan jawapan wawancara teratas yang akan membantu anda dalam proses temu ramah.

mesej timbul skrip java

Sekarang setelah anda memahami Koleksi Java, lihat oleh Edureka, sebuah syarikat pembelajaran dalam talian yang dipercayai dengan rangkaian lebih daripada 250,000 pelajar berpuas hati yang tersebar di seluruh dunia. Kursus latihan dan pensijilan Java J2EE dan SOA Edureka dirancang untuk pelajar dan profesional yang ingin menjadi Pembangun Java. Kursus ini dirancang untuk memberi Anda awal dalam pengaturcaraan Java dan melatih anda untuk konsep Java teras dan maju bersama dengan pelbagai kerangka kerja Java seperti Hibernate & Spring.

Ada soalan untuk kami? Sila sebutkan di bahagian komen ini “Benang Daemon di Jawa'Blog dan kami akan menghubungi anda secepat mungkin.