Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Java

जावा में यूजर थ्रेड और डेमन थ्रेड में अंतर?


डेमन थ्रेड्स आमतौर पर यूजर थ्रेड्स के लिए सेवाएं करने के लिए उपयोग किए जाते हैं। एप्लिकेशन थ्रेड का main() मेथड एक यूजर थ्रेड (नॉन-डेमन थ्रेड) है। JVM तब तक समाप्त नहीं होता जब तक सभी यूजर थ्रेड (नॉन-डेमन) समाप्त नहीं हो जाते। हम setDaemon(true) को कॉल करके यूजर थ्रेड द्वारा बनाए गए थ्रेड को स्पष्ट रूप से डेमन थ्रेड होने के लिए निर्दिष्ट कर सकते हैं। यह निर्धारित करने के लिए कि कोई थ्रेड डेमन थ्रेड है या नहीं, isDaemon() मेथड का उपयोग करके किया जा सकता है।

उदाहरण

public class UserDaemonThreadTest extends Thread { 
    public static void main(String args[]) { 
        System.out.println("थ्रेड नाम है: " + Thread.currentThread().getName());  
        // जांचें कि मुख्य थ्रेड डेमन है या यूजर थ्रेड  
        System.out.println("क्या मुख्य थ्रेड डेमन है? : " + 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() + " एक डेमन थ्रेड है"); 
        } else { 
            System.out.println(Thread.currentThread().getName() + " एक यूजर थ्रेड है"); 
        } 
    } 
}

आउटपुट

थ्रेड नाम है: main क्या मुख्य थ्रेड डेमन है? : false Thread-0 एक डेमन थ्रेड है Thread-1 एक यूजर थ्रेड है

  1. - जावा में yield() मेथड का महत्व?

    yield() मेथड Thread क्लास का एक स्टैटिक मेथड है और यह वर्तमान में निष्पादित हो रहे थ्रेड को रोक सकता है और उसी प्राथमिकता के अन्य प्रतीक्षारत थ्रेड्स को मौका देगा। यदि कोई प्रतीक्षारत थ्रेड नहीं हैं या यदि सभी प्रतीक्षारत थ्रेड्स की कम प्राथमिकता है तो वही थ्रेड अपना निष्पादन जारी रखेगा। yield() मे

  1. - जावा में isDaemon() मेथड का महत्व?

    डेमन थ्रेड जावा में कम-प्राथमिकता वाला थ्रेड है जो बैकग्राउंड में चलता है और ज्यादातर JVM द्वारा गार्बेज कलेक्शन (GC) जैसे बैकग्राउंड कार्यों को करने के लिए बनाया जाता है। यदि कोई यूजर थ्रेड नहीं चल रहा है तो JVM डेमन थ्रेड्स के चलने पर भी बाहर निकल सकता है। डेमन थ्रेड का एकमात्र उद्देश्य यूजर थ्रे

  1. - Java में Abstraction (एब्स्ट्रैक्शन)

    शब्दकोश के अनुसार, एब्स्ट्रैक्शन घटनाओं के बजाय विचारों से निपटने की गुणवत्ता है। उदाहरण के लिए, जब आप ई-मेल के मामले पर विचार करते हैं, तो जैसे ही आप एक ई-मेल भेजते हैं क्या होता है, आपके ई-मेल सर्वर द्वारा उपयोग किया जाने वाला प्रोटोकॉल जैसे जटिल विवरण उपयोगकर्ता से छिपे होते हैं। इसलिए, ई-मेल भेज