কম্পিউটার টিউটোরিয়াল

জাভাতে ইউজার থ্রেড এবং ডেমন থ্রেডের পার্থক্য


ডেমন থ্রেডগুলো সাধারণত ইউজার থ্রেডের জন্য সার্ভিস প্রদানের জন্য ব্যবহৃত হয়। অ্যাপ্লিকেশন থ্রেডের main() মেথড হল একটি ইউজার থ্রেড (নন-ডেমন থ্রেড)। JVM তখনই টারমিনেট হয় যখন সব ইউজার থ্রেড (নন-ডেমন) টারমিনেট হয়। setDaemon(true) কল করে একটি ইউজার থ্রেড দ্বারা তৈরি থ্রেডকে স্পষ্টভাবে ডেমন থ্রেড হিসেবে নির্দিষ্ট করা যায়। isDaemon() মেথড ব্যবহার করে একটি থ্রেড ডেমন থ্রেড কিনা তা নির্ধারণ করা যায়।

উদাহরণ

public class UserDaemonThreadTest extends Thread { 
    public static void main(String args[]) { 
        System.out.println("Thread name is : " + Thread.currentThread().getName());   
        // মেইন থ্রেড ডেমন নাকি ইউজার থ্রেড তা চেক করা 
        System.out.println("Is main thread daemon ? : " + Thread.currentThread().isDaemon()); 
        UserDaemonThreadTest t1 = new UserDaemonThreadTest(); 
        UserDaemonThreadTest t2 = new UserDaemonThreadTest(); 
          
        // t1 (ইউজার থ্রেড) কে ডেমন থ্রেড-এ রূপান্তর করা 
        t1.setDaemon(true); 
        t1.start(); 
        t2.start(); 
    } 
    
    public void run() { 
        // থ্রেডগুলো ডেমন কিনা চেক করা 
        if (Thread.currentThread().isDaemon()) { 
            System.out.println(Thread.currentThread().getName() + " is a Daemon Thread"); 
        } else { 
            System.out.println(Thread.currentThread().getName() + " is an User Thread"); 
        } 
    } 
}

আউটপুট

Thread name is : main Is main thread daemon ? : false Thread-0 is a Daemon Thread Thread-1 is an User Thread

  1. জাভাতে join() মেথডের গুরুত্ব

  2. জাভাতে yield() মেথডের গুরুত্ব

  3. জাভাতে isDaemon() মেথডের গুরুত্ব

  4. জাভাতে অ্যাবস্ট্রাকশন