2009-06-23 11 views
11

सबसे अधिक अनुशंसित .NET कस्टम थ्रेडपूल क्या है जिसमें अलग-अलग उदाहरण हो सकते हैं i.e प्रति थ्रेडपूल प्रति एप्लिकेशन? मुझे असीमित कतार आकार (क्रॉलर बनाने) की आवश्यकता है, और प्रत्येक साइट के लिए समानांतर में एक अलग थ्रेडपूल चलाने की आवश्यकता है।अलग-अलग उदाहरणों के साथ .NET कस्टम थ्रेडपूल

संपादित करें: मुझे प्रत्येक साइट के लिए एक अलग थ्रेडपूल का उपयोग करके जितनी जल्दी हो सके जानकारी के लिए इन साइटों को मेरी आवश्यकता होगी, मुझे किसी भी समय प्रत्येक साइट पर काम करने वाले धागे की संख्या को नियंत्रित करने की क्षमता होगी। (कोई 2-3 से अधिक नहीं)

धन्यवाद Roey

+1

आपको प्रत्येक साइट के लिए एक अलग थ्रेडपूल चलाने की आवश्यकता क्यों होगी ??? – AnthonyWJones

+1

कुछ समय लें और डैनियल मॉथ के वीडियो को देखें: http://channel9.msdn.com/pdc2008/TL26/। आप पाएंगे कि असीमित कतार असीमित प्रदर्शन की राह नहीं है। – Groo

+0

मैं एंथनी से सहमत हूं। मुझे नहीं लगता कि आपको कई थ्रेड पूल की आवश्यकता है। थ्रेड पूल पूरे सिस्टम पर काम को प्रबंधित और संतुलित करने के लिए है। यदि आपके पास एकाधिक पूल हैं तो आप बस अपनी मशीन को अधिभारित कर देंगे। भूलें कि थ्रेड सृजन के लिए एक ओवरहेड है। थ्रेड पूल यही है - यह ध्यान से धागे की संख्या को इष्टतम राशि में प्रबंधित करता है और इन धागे के बीच काम को विभाजित करता है। –

उत्तर

1

पूछें जॉन स्कीट: http://www.yoda.arachsys.com/csharp/miscutil/

Parallel extensions for .Net (TPL) वास्तव में काफी बेहतर है अगर तुम समानांतर चल कार्यों की एक बड़ी संख्या चाहते हैं काम करना चाहिए।

+1

इसका उपयोग एक से अधिक CPU-core के समानांतर करने के लिए किया जाता है, हालांकि यह मेरी समस्या का समाधान नहीं करता है क्योंकि व्यक्तिगत कार्य प्रबंधक मुझे अपने सभी कार्यों को चलाने के दौरान नहीं बता सकते हैं। डुप्लिकेट उत्तर के लिए – Roey

7

मेरा मानना ​​है कि Smart Thread Pool ऐसा कर सकता है। यह थ्रेडपूल क्लास को तत्काल किया गया है ताकि आपको अपनी अलग-अलग साइट विशिष्ट उदाहरणों को बनाने और प्रबंधित करने में सक्षम होना चाहिए।

3

अमी बार ने एक उत्कृष्ट स्मार्ट थ्रेड पूल लिखा जिसे तत्काल किया जा सकता है।

एक नज़र here

+0

-1। एडमराल्फ पहले से ही पोस्ट कर चुका था। –

+7

+1 उत्तर 2 मिनट बाद था। AdamRalphs का जवाब अभी तक जांच नहीं था। – Simon

0

यह नि: शुल्क nuget पुस्तकालय यहाँ ले: CodeFluentRuntimeClient एक CustomThreadPool वर्ग आप पुनः उपयोग कर सकते है। यह बहुत विन्यास योग्य है, आप पूल थ्रेड प्राथमिकता, संख्या, COM अपार्टमेंट स्थिति, यहां तक ​​कि नाम (डीबगिंग के लिए), और संस्कृति भी बदल सकते हैं।

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