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

शेड्यूल्ड थ्रेड पूल और सिंगल थ्रेड एक्जीक्यूटर के बीच अंतर

परिचय

क्र. सं.मुख्य बिंदुशेड्यूल्ड थ्रेड पूलसिंगल थ्रेड एक्जीक्यूटर
1बुनियादीएक थ्रेड पूल बनाता है जो दिए गए विलंब के बाद कमांड को चलाने के लिए शेड्यूल कर सकता है, या समय-समय पर निष्पादित कर सकता है।कार्यों को क्रमिक रूप से निष्पादित करने की गारंटी है, और किसी भी समय एक से अधिक कार्य सक्रिय नहीं होंगे
2क्यूयह टास्क को स्टोर करने के लिए डिले क्यू का उपयोग करता है। समय विलंब के आधार पर टास्क को शेड्यूल करता है।यह ब्लॉकिंग क्यू का उपयोग करता है।
3थ्रेड लाइफटाइमपूल में रखने के लिए थ्रेड्स की संख्या, भले ही वे आइडल होंटास्क के कारण मारे जाने पर थ्रेड को फिर से बनाएं।
4थ्रेड पूल साइजइसमें हमेशा एक सिंगल थ्रेड चल रहा होता है।थ्रेड पूल शून्य थ्रेड्स से Integer.MAX_VALUE तक बढ़ सकता है
5उपयोग का मामलाहमें फिक्स्ड थ्रेड पूल का उपयोग करना चाहिए, जब हम समवर्ती टास्क को सीमित करना चाहते हैंइस प्रकार के पूल का उपयोग तब किया जा सकता है जब आप यह सुनिश्चित करना चाहते हैं कि टास्क 1 हमेशा टास्क 2 से पहले चले।

ScheduledThreadPool का उदाहरण

public class ScheduledThreadPoolExample {
    public static void main(String args[]) {
        ScheduledExecutorService services = Executors.newScheduledThreadPool(10);
        services.schedule(new Task(), 10, TimeUnit.SECONDS);
        services.scheduleAtFixedRate(new Task(), 15, 10, TimeUnit.SECONDS);
    }
}
public class Task implements Runnable {
    @Override
    public void run() {
        System.out.println("रन में");
    }
}

SingleThreadExecutor का उदाहरण

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("रन में");
    }
}
  1. - जावा में Wait और Sleep के बीच अंतर

    wait() - थ्रेड इस मॉनिटर का ओनरशिप छोड़ देता है और तब तक वेट करता है जब तक कोई अन्य थ्रेड notify() या notifyAll() मेथड के माध्यम से इस ऑब्जेक्ट के मॉनिटर पर वेट कर रहे थ्रेड्स को जगाता नहीं है। थ्रेड तब तक वेट करता है जब तक यह मॉनिटर का ओनरशिप फिर से प्राप्त नहीं कर लेता और एक्जीक्यूशन जारी नहीं रखत

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

    थ्रेड एक्जीक्यूशन का नया थ्रेड बनाने के दो तरीके हैं। एक है Thread क्लास का सबक्लास घोषित करना। इस सबक्लास को Thread क्लास के run मेथड को ओवरराइड करना चाहिए। सबक्लास का इंस्टेंस तब एलोकेट और स्टार्ट किया जा सकता है। थ्रेड बनाने का दूसरा तरीका है Runnable इंटरफेस को इम्प्लीमेंट करने वाली क्लास घोषित

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

    Exceptions और Errors दोनों Throwable क्लास के सबक्लास हैं। Error एक ऐसी समस्या को इंगित करता है जो मुख्य रूप से सिस्टम रिसोर्सेज की कमी के कारण होती है और हमारे एप्लिकेशन को इस प्रकार की समस्याओं को नहीं पकड़ना चाहिए। Errors के कुछ उदाहरण हैं: सिस्टम क्रैश एरर और आउट ऑफ मेमोरी एरर। Errors ज्यादातर र