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

Java में Executor और ExecutorServices के बीच अंतर

परिचय

Executor और ExecutorServices दोनों इंटरफेस एग्जीक्यूटर फ्रेमवर्क का हिस्सा हैं। यह Java 5 के साथ जारी किया गया था।

Java में, थ्रेड निर्माण बहुत महंगा ऑपरेशन है इसलिए हमें हर बार एक नया थ्रेड शुरू करने के बजाय उपलब्ध थ्रेड का पुन: उपयोग करना चाहिए और हम एग्जीक्यूटर फ्रेमवर्क का उपयोग करके इसे प्राप्त कर सकते हैं।

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

  • फिक्स्ड थ्रेड पूल
  • कैश्ड थ्रेड पूल
  • शेड्यूल्ड थ्रेड पूल
  • सिंगल थ्रेड एक्जीक्यूटर
क्र. सं.मुख्य बिंदुExecutorExecutorServices
1बुनियादीयह एक पैरेंट इंटरफेस हैयह Executor इंटरफेस को एक्सटेंड करता है
2मेथडइसमें execute() मेथड हैइसमें submit() मेथड है
3रिटर्न टाइपयह कुछ भी वापस नहीं करता।यह फ्यूचर ऑब्जेक्ट वापस करता है।
4Runnable/Callableयह Runnable ऑब्जेक्ट स्वीकार करता है।यह Runnable और Callable दोनों स्वीकार करता है

ExecutorService का उदाहरण

public class Main {
    public static void main(String args[]) {
        ExecutorService services = Executors.newSingleThreadExecutor();
        Future future = services.submit(new Task());
    }
}
public class Task implements Runnable {
    @Override
    public void run() {
        System.out.println("रन में");
    }
}

Executor का उदाहरण

public class Main {
    public static void main(String args[]) {
        Executor executor = Executors.newSingleThreadExecutor();
        executor.execute(new Task());
    }
}
public class Task implements Runnable {
    @Override
    public void run() {
        System.out.println("रन में");
    }
}
  1. - जावा में Serialization और Externalization के बीच अंतर

    Serialization और Externalization दोनों ऑब्जेक्ट को बाइट स्ट्रीम में बदलने और बाइट स्ट्रीम को डेटाबेस या मेमोरी में स्टोर करने की प्रक्रियाएं हैं। जो क्लास java.io.Serializable इंटरफेस को इम्प्लीमेंट करती है उसे सीरियलाइज किया जा सकता है। दूसरी ओर, Externalization एप्लिकेशन में आवश्यकता के आधार पर कस

  1. - जावा में Iterator और Enumeration के बीच अंतर

    Iterator और Enumeration दोनों कलेक्शन से एलिमेंट्स को ट्रैवर्स और एक्सेस करने के लिए कर्सर हैं। वे दोनों कलेक्शन फ्रेमवर्क से संबंधित हैं। Enumeration JDK 1.0 में जोड़ा गया था और Iterator JDK 1.2 वर्जन में कलेक्शन फ्रेमवर्क में जोड़ा गया। Enumeration कलेक्शन में स्ट्रक्चरल चेंज नहीं कर सकता क्योंकि

  1. - Java में ArrayList और HashSet के बीच अंतर

    HashSet और ArrayList दोनों Java कलेक्शन फ्रेमवर्क के सबसे महत्वपूर्ण क्लासेस में से कुछ हैं।ArrayList और HashSet के बीच महत्वपूर्ण अंतर निम्नलिखित हैं।क्रमांकमुख्य बिंदुArrayListHashSet1कार्यान्वयनArrayList लिस्ट इंटरफेस का कार्यान्वयन है।दूसरी ओर HashSet सेट इंटरफेस का कार्यान्वयन है।2आंतरिक कार्या