परिचय
| क्र. सं. | मुख्य बिंदु | शेड्यूल्ड थ्रेड पूल | सिंगल थ्रेड एक्जीक्यूटर |
|---|
| 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("रन में");
}
}