थ्रेड पूल पूर्व-तत्काल पुन: प्रयोज्य थ्रेड्स का एक समूह है जो कार्य करने के लिए उपलब्ध हैं। जब कोई कार्य सबमिट किया जाता है, तो उसे पूल में एक निष्क्रिय थ्रेड को सौंपा जाता है। यदि सभी थ्रेड व्यस्त हैं, तो थ्रेड उपलब्ध होने तक कार्य कतार में प्रतीक्षा करता है।
थ्रेड पूल कई फायदे प्रदान करते हैं:
जब आप थ्रेड पूल में कोई कार्य सबमिट करते हैं, तो निम्न चरण होते हैं:
थ्रेड पूल उन परिदृश्यों में विशेष रूप से उपयोगी होते हैं जहां आपको बड़ी संख्या में अल्पकालिक कार्यों को प्रबंधित करने की आवश्यकता होती है, जैसे वेब सर्वर में अनुरोधों को संभालना या नौकरियों के बैच को संसाधित करना।
जावा java.util.concurrent पैकेज में कई अंतर्निहित थ्रेड पूल कार्यान्वयन प्रदान करता है, जिसमें सबसे अधिक उपयोग किया जाता है ExecutorService। आइए जानें कि जावा में थ्रेड पूल कैसे बनाएं और उसका उपयोग कैसे करें।
जावा में थ्रेड पूल बनाने के लिए, आप Executors क्लास का उपयोग कर सकते हैं, जो विभिन्न प्रकार के थ्रेड पूल बनाने के लिए विभिन्न तरीके प्रदान करता है।
import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class ThreadPoolExample { public static void main(String[] args) { // Create a fixed thread pool with 5 threads ExecutorService executorService = Executors.newFixedThreadPool(5); for (int i = 0; i2.2 थ्रेड पूल के प्रकार
जावा कई प्रकार के थ्रेड पूल प्रदान करता है, प्रत्येक को अलग-अलग परिदृश्यों के लिए डिज़ाइन किया गया है:
फिक्स्ड थ्रेड पूल : थ्रेड की एक निश्चित संख्या बनाता है। यदि सभी थ्रेड व्यस्त हैं, तो कार्य कतारबद्ध हो जाते हैं।
ExecutorService fixedPool = Executors.newFixedThreadPool(10);कैश्ड थ्रेड पूल: आवश्यकतानुसार नए थ्रेड बनाता है लेकिन उपलब्ध होने पर पहले से निर्मित थ्रेड का पुन: उपयोग करता है। कई अल्पकालिक कार्यों को निष्पादित करने के लिए उपयुक्त।
ExecutorService cachedPool = Executors.newCachedThreadPool();सिंगल थ्रेड एक्ज़ीक्यूटर: कार्यों को क्रमिक रूप से निष्पादित करने के लिए एक सिंगल वर्कर थ्रेड बनाता है।
ExecutorService singlePool = Executors.newSingleThreadExecutor();अनुसूचित थ्रेड पूल: एक थ्रेड पूल बनाता है जो किसी दिए गए विलंब के बाद या समय-समय पर चलने के लिए कमांड को शेड्यूल कर सकता है।
ScheduledExecutorService scheduledPool = Executors.newScheduledThreadPool(5);2.3 उदाहरण: फिक्स्ड थ्रेड पूल डेमो
प्रदान किए गए उदाहरण में, 5 थ्रेड्स वाला एक निश्चित थ्रेड पूल बनाया गया है। हम पूल में 10 कार्य सबमिट करते हैं। पूल इन कार्यों को उपलब्ध थ्रेड्स को निर्दिष्ट करता है। यदि सभी थ्रेड व्यस्त हैं, तो कार्य कतार में प्रतीक्षा करते हैं।
अपेक्षित आउटपुट:
Task 0 is being executed by pool-1-thread-1 Task 1 is being executed by pool-1-thread-2 Task 2 is being executed by pool-1-thread-3 Task 3 is being executed by pool-1-thread-4 Task 4 is being executed by pool-1-thread-5 Task 5 is being executed by pool-1-thread-1 Task 6 is being executed by pool-1-thread-2 Task 7 is being executed by pool-1-thread-3 Task 8 is being executed by pool-1-thread-4 Task 9 is being executed by pool-1-thread-52.4 थ्रेड पूल का उपयोग करने के सर्वोत्तम अभ्यास
जावा में थ्रेड पूल कार्यों को कुशलतापूर्वक प्रबंधित और निष्पादित करने का एक मजबूत तरीका प्रदान करते हैं। थ्रेड्स के एक निश्चित सेट का पुन: उपयोग करके, वे ओवरहेड को कम करते हैं और बहु-थ्रेडेड अनुप्रयोगों के प्रदर्शन में सुधार करते हैं। चाहे आप वेब अनुरोधों को संसाधित कर रहे हों, पृष्ठभूमि कार्य चला रहे हों, या समानांतर गणना निष्पादित कर रहे हों, थ्रेड पूल आपके जावा समवर्ती टूलकिट में एक आवश्यक उपकरण हैं।
क्या आपके कोई प्रश्न हैं? उन्हें नीचे टिप्पणी में लिखें!
यहां अधिक पोस्ट पढ़ें : जावा थ्रेड पूल: थ्रेड्स को कुशलतापूर्वक कैसे प्रबंधित करें
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3