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

जावा में रननेबल और कॉल करने योग्य इंटरफ़ेस के बीच अंतर

चलने योग्य और कॉल करने योग्य दोनों कार्यात्मक इंटरफ़ेस। जो वर्ग इन इंटरफेस को लागू कर रहे हैं उन्हें किसी अन्य थ्रेड द्वारा निष्पादित करने के लिए डिज़ाइन किया गया है।

थ्रेड को रूनेबल के साथ शुरू किया जा सकता है और वे एक नया थ्रेड शुरू करने के दो तरीके हैं:एक थ्रेड क्लास को उप-वर्ग करके और दूसरा रननेबल इंटरफ़ेस को लागू कर रहा है।

थ्रेड क्लास में कॉल करने योग्य कंस्ट्रक्टर नहीं होता है, इसलिए हमें थ्रेड निष्पादित करने के लिए एक्ज़ीक्यूटर सर्विस क्लास का उपयोग करना चाहिए।

<वें शैली ="चौड़ाई:9.7959%; पाठ-संरेखण:केंद्र;">कुंजी
Sr. नहीं. चलाने योग्य कॉल करने योग्य
1
पैकेज
यह Java.lang से संबंधित है
यह java.util.concurrent के अंतर्गत आता है
2
धागा निर्माण
हम रननेबल को एक पैरामीटर के रूप में पास करके थ्रेड बना सकते हैं।
हम कॉल करने योग्य को पैरामीटर के रूप में पास करके थ्रेड नहीं बना सकते हैं
3
वापसी का प्रकार
रनेबल कुछ भी वापस नहीं करता है
कॉल करने योग्य परिणाम लौटा सकता है
4.
विधि
इसमें रन () विधि है
इसमें कॉल () विधि है
5
थोक निष्पादन
इसका उपयोग कार्य के थोक निष्पादन के लिए नहीं किया जा सकता
इसका उपयोग इनवोकऑल () को लागू करके कार्य के थोक निष्पादन के लिए किया जा सकता है।

चलाने योग्य का उदाहरण

public class RunnableExample implements Runnable {
   public void run() {
      System.out.println("Hello from a Runnable!");
   }
   public static void main(String args[]) {
      (new Thread(new RunnableExample())).start();
   }
}

कॉल करने योग्य का उदाहरण

public class Main {
   public static void main(String args[]) throws InterruptedException, ExecutionException {
      ExecutorService services = Executors.newSingleThreadExecutor();
      Future<?> future = services.submit(new Task());
      System.out.println("In Future Object" + future.get());
   }
}
import java.util.concurrent.Callable;

public class Task implements Callable {

   @Override
   public String call() throws Exception {
      System.out.println("In call");
      String name = "test";
      return name;
   }
}

  1. जावा में इटरेटर और एन्यूमरेशन के बीच अंतर

    इटरेटर और एन्यूमरेशन दोनों ही संग्रह से किसी तत्व को पार करने और एक्सेस करने के लिए कर्सर हैं। वे दोनों संग्रह ढांचे से संबंधित हैं। संग्रह ढांचे में JDK1.0 और Iterator में JDK.1.2 संस्करण में गणना जोड़ी गई थी। एन्यूमरेशन संग्रह में संरचनात्मक परिवर्तन नहीं कर सकता क्योंकि इसमें संग्रह में तत्व तक

  1. जावा में कतार इंटरफ़ेस की झांकना (), मतदान () और निकालें () विधि के बीच अंतर?

    यह एक संग्रह का प्रतिनिधित्व करता है जिसे प्रसंस्करण से पहले डेटा रखने के लिए इंडेंट किया जाता है। यह फर्स्ट-इन-फर्स्ट-आउट (फीफो) प्रकार की व्यवस्था है। कतार में डाला गया पहला तत्व उसमें से निकाला गया पहला तत्व है। दिखाना () विधि यह विधि वर्तमान कतार के शीर्ष पर वस्तु को बिना हटाए लौटाती है। यदि कत

  1. जावा में ऐरेलिस्ट और हैशसेट के बीच अंतर

    हैशसेट और ऐरेलिस्ट दोनों ही जावा संग्रह ढांचे के कुछ सबसे महत्वपूर्ण वर्ग हैं। ArrayList और हैशसेट के बीच महत्वपूर्ण अंतर निम्नलिखित हैं। सीनियर। नहीं. कुंजी ऐरेलिस्ट हैशसेट 1 कार्यान्वयन ArrayList सूची इंटरफ़ेस का कार्यान्वयन है। दूसरी ओर हैशसेट एक सेट इंटरफ़ेस का कार्यान्वयन है। 2 आंतरिक क