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

जावा में सीधे run() मेथड को कॉल करने पर क्या होगा?


थ्रेड ऑब्जेक्ट के run() मेथड को सीधे कॉल करने से एक अलग थ्रेड शुरू नहीं होता और इसे वर्तमान थ्रेड के भीतर निष्पादित किया जा सकता है। Runnable.run को एक अलग थ्रेड के भीतर से निष्पादित करने के लिए, निम्न में से एक करें:

  • Runnable ऑब्जेक्ट का उपयोग करके एक थ्रेड बनाएं और Thread पर start() मेथड कॉल करें।
  • Thread ऑब्जेक्ट का एक सबक्लास परिभाषित करें और इसके run() मेथड की परिभाषा को ओवरराइड करें। फिर इस सबक्लास का एक इंस्टेंस बनाएं और उस इंस्टेंस पर सीधे start() मेथड कॉल करें।

उदाहरण

public class ThreadRunMethodTest { 
    public static void main(String args[]) { 
        MyThread runnable = new MyThread(); 
        runnable.run(); // run() मेथड को कॉल करने से अलग थ्रेड शुरू नहीं होता 
        System.out.println("मुख्य थ्रेड"); 
    } 
} 
class MyThread extends Thread { 
    public void run() { 
        try { 
            Thread.sleep(1000); 
        } catch (InterruptedException e) { 
            System.out.println("चाइल्ड थ्रेड बाधित हुआ।"); 
        } 
        System.out.println("चाइल्ड थ्रेड"); 
    } 
}

उपरोक्त उदाहरण में, मुख्य थ्रेड, ThreadRunMethodTest, चाइल्ड थ्रेड, MyThread, को run() मेथड का उपयोग करके कॉल करता है। इससे चाइल्ड थ्रेड मुख्य थ्रेड के बाकी हिस्से के निष्पादित होने से पहले पूरा हो जाता है, इसलिए "चाइल्ड थ्रेड" "मुख्य थ्रेड" से पहले प्रिंट होता है।

आउटपुट

चाइल्ड थ्रेड मुख्य थ्रेड

  1. Java में setBounds() विधि का उपयोग क्या है? Java में setBounds() विधि का उपयोग क्या है?

    लेआउट प्रबंधक जोड़े गए घटकों की स्थिति और आकार को स्वचालित रूप से तय करने के लिए उपयोग किए जाते हैं। लेआउट प्रबंधक की अनुपस्थिति में, घटकों की स्थिति और आकार को मैन्युअल रूप से सेट करना पड़ता है। ऐसी स्थिति में setBounds() विधि का उपयोग स्थिति और आकार सेट करने के लिए किया जाता है। घटकों की स्थिति औ

  1. Java में SwingWorker क्लास का महत्व क्या है Java में SwingWorker क्लास का महत्व क्या है

    एक SwingWorker क्लास हमें एक वर्कर थ्रेड में एक असिंक्रोनस टास्क (जैसे लंबे समय तक चलने वाला टास्क) करने में सक्षम बनाती है फिर टास्क परिणामों के आधार पर इवेंट डिस्पैच थ्रेड (EDT) से Swing कंपोनेंट्स को अपडेट करती है। इसे Java 1.6 संस्करण में पेश किया गया था।SwingWorker क्लासjava.swing.SwingWorker क

  1. Java में SwingUtilities क्लास का महत्व क्या है? Java में SwingUtilities क्लास का महत्व क्या है?

    Java में, स्विंग कंपोनेंट्स स्क्रीन पर प्रदर्शित होने के बाद, केवल एक थ्रेड द्वारा संचालित किए जा सकते हैं जिसे इवेंट हैंडलिंग थ्रेड कहा जाता है। हम अपना कोड एक अलग ब्लॉक में लिख सकते हैं और इस ब्लॉक का रेफरेंस इवेंट हैंडलिंग थ्रेड को दे सकते हैं। SwingUtilities क्लास में दो महत्वपूर्ण स्टेटिक मेथड्