2009-10-17 18 views
5

क्या लाइब्रेरी में ThreadPool का उपयोग करना स्वीकार्य है?क्या लाइब्रेरी में थ्रेडपूल का उपयोग करना स्वीकार्य है?

क्योंकि कि स्पष्ट रूप से कुछ अप्रिय समस्याओं यदि आपकी लायब्रेरी के उपयोगकर्ता ThreadPool रूप में अच्छी तरह उपयोग कर रहा है (ThreadPool के कारण निश्चित रूप से एक स्थिर वर्ग जा रहा है) ..

क्या सम्मेलन है कारण हो सकता है?

उत्तर

3

हाँ। मुझे लगता है कि लाइब्रेरी कोड में थ्रेडपूल का उपयोग करना उचित है। यहां तक ​​कि यदि उपयोगकर्ता थ्रेडपूल का उपयोग कर सकता है, तो थ्रेडपूल अभी भी ट्यून करने के लिए पर्याप्त है।

दूसरी तरफ, लाइब्रेरी डेवलपर के रूप में, आपको लचीलापन प्रदान करना चाहिए: उपयोगकर्ता थ्रेडपूल, एक विशिष्ट थ्रेड, या यहां तक ​​कि एक तृतीय पक्ष थ्रेड पूल कार्यान्वयन का उपयोग करना चुन सकता है।

1

हां।

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

आपको इसे बहुत स्पष्ट करना चाहिए कि आपकी लाइब्रेरी के कौन से खुला भाग थ्रेडसेफ हैं और जो नहीं हैं।

0

थ्रेडपूल को एक साथ कई घटकों द्वारा उपयोग करने के लिए डिज़ाइन किया गया है। इसलिए यदि आपकी विशेष लाइब्रेरी से उपयोग किया जाता है तो यह स्वयं में कोई विशेष समस्या नहीं प्रस्तुत करता है।

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

संबंधित मुद्दे

 संबंधित मुद्दे