पूल (कंप्यूटर विज्ञान)

कंप्यूटर विज्ञान में, पूल मेमोरी में रखे जाने वाले संसाधनों का कलेक्शन होता है, जो प्रयोग के समय प्राप्त की गई मेमोरी और बाद में रिलीज की गई मेमोरी के उपयोग के लिए तैयार रखा जाता है। इस संदर्भ में, संसाधन प्रणाली संसाधनों जैसे फ़ाइल हैंडल को संदर्भित कर सकते हैं, जो किसी प्रक्रिया के लिए बाहरी या ऑब्जेक्ट (कंप्यूटिंग) जैसे आंतरिक संसाधन हैं। इस प्रकार पूल क्लाइंट (कंप्यूटिंग) पूल से संसाधन का अनुरोध करता है और लौटाए गए संसाधन पर वांछित संचालन करता है। जब ग्राहक संसाधन का उपयोग पूरा कर लेता है, तो इसे प्रयुक्त करने और खोने के अतिरिक्त पूल में वापस कर देता है।

संसाधनों की पूलिंग उन स्थितियों में महत्वपूर्ण प्रतिक्रिया समय को बढ़ावा देती है, जिनमें संसाधन अधिग्रहण से जुड़ी उच्च लागत और संसाधनों के लिए अनुरोधों की उच्च दर प्राप्त करने के साथ उपयोग किए गए संसाधनों की कम समग्र गणना के साथ उच्च लागत जुड़ी हुई है। इस प्रकार पूलिंग तब भी उपयोगी होती है जब लेटेंसी एक चिंता का विषय है, क्योंकि एक पूल संसाधनों को प्राप्त करने के लिए आवश्यक अनुमानित समय प्रदान करता है क्योंकि वे पहले ही प्राप्त किए जा चुके हैं। ये लाभ ज्यादातर प्रणाली संसाधनों के लिए सही हैं जिनके लिए प्रणाली कॉल या रिमोट संसाधनों की आवश्यकता होती है, जिनके लिए नेटवर्क संचार की आवश्यकता होती है, जैसे डेटाबेस कनेक्शन, सॉकेट कनेक्शन, थ्रेड (कंप्यूटिंग) और मेमोरी एलोकेशन इत्यादि। पूलिंग एक्सपेंसिव डेटा की गणना करने के लिए भी उपयोगी होते है, विशेष रूप से फ़ॉन्ट या बिटमैप जैसी बड़ी ग्राफ़िक ऑब्जेक्ट जो अनिवार्य रूप से डेटा कैशे (कंप्यूटिंग) या मेमोइज़ेशन प्रोद्योगिकीय के रूप में कार्य करती हैं।

पूल के विशेष स्थितिया कनेक्शन पूल, थ्रेड पूल और मेमोरी पूल के रूप में होती है।

ऑब्जेक्ट पूल
पूल का उपयोग ऑब्जेक्ट लिए भी किया जा सकता है, इस प्रकार पूल संदर्भ में ऑब्जेक्ट ओरिएंटेड लैंग्वेज जैसे ऑब्जेक्ट पूल पैटर्न में पूल को प्रयुक्त करने के लिए एक डिज़ाइन पैटर्न को संदर्भित करता है। ऑब्जेक्ट स्वयं कोई बाहरी संसाधन नहीं रखते हैं और केवल मेमोरी पर कब्जा करते हैं, चूंकि पहले से बनाई गई ऑब्जेक्ट निर्माण पर आवश्यक मेमोरी एलोकेशन से बचती है। इस प्रकार ऑब्जेक्ट पूल तब उपयोगी होते हैं जब ऑब्जेक्ट निर्माण की लागत अधिक होती है, लेकिन कुछ स्थितियों में यह सरल ऑब्जेक्ट पूलिंग कुशल रूप में नहीं होती है और वास्तव में प्रदर्शन को कम कर सकती है।