मेरे पास एक कार्यक्रम है जो थ्रेड्स को फैलाता है (~ 5-150) जो कार्यों का एक गुच्छा प्रदर्शन करते हैं। मूल रूप से, मैंने इसका उपयोग किया FixedThreadPool
क्योंकि इस तरह के एक प्रश्न ने सुझाव दिया कि वे लंबे समय तक जीवित कार्यों के लिए बेहतर अनुकूल थे और मेरीथ्रेडिंग के बहुत सीमित ज्ञान के साथ, मैंने थ्रेड्स के औसत जीवन (कई मिनट) को " लंबे समय तक जीवित " माना ।
हालाँकि, मैंने हाल ही में अतिरिक्त थ्रेड्स को फैलाने की क्षमता को जोड़ा और ऐसा करने से मुझे मेरे द्वारा निर्धारित थ्रेड लिमिट से ऊपर ले जाता है। इस मामले में, क्या मैं उन थ्रेड्स की संख्या का अनुमान लगा सकता हूं या बढ़ा सकता CachedThreadPool
हूं, जिनकी मैं अनुमति दे सकता हूं या स्विच कर सकता हूं।
उन दोनों को पूरी तरह से बाहर करने की कोशिश करना, कोई अंतर नहीं लगता है इसलिए मैं CachedThreadPool
बर्बादी से बचने के लिए बस साथ जाने के लिए इच्छुक हूं । हालाँकि, क्या थ्रेड्स के जीवन काल का मतलब है कि मुझे इसके बजाय ए FixedThreadPool
और अप्रयुक्त थ्रेड्स से निपटना चाहिए ? यह प्रश्न ऐसा लगता है जैसे उन अतिरिक्त धागों को बर्बाद नहीं किया गया है लेकिन मैं स्पष्टीकरण की सराहना करूंगा।