2010-08-10 17 views
16

ऐसी प्रक्रिया पर विचार करें जो एकाधिक एप्लिकेशन डोमेन बना रहा है। क्या ये एप्लिकेशन डोमेन समान थ्रेड पूल साझा करते हैं? यदि हां, तो यह एकाधिक एप्लिकेशन डोमेन के बीच समन्वयित कैसे किया जाता है?क्या थ्रेडपूल एप्लिकेशन डोमेन के बीच साझा किया जाता है?

उत्तर

9

ThreadPool सभी appdomains में साझा किया जाने - के बाद से इसका मतलब है कि धागे appdomains के बीच स्विच खत्म हो सकता है कि चारों ओर पर्फ़ काम हो गया है (संभावित अक्सर!):

http://blogs.msdn.com/b/ericeil/archive/2009/04/23/clr-4-0-threadpool-improvements-part-1.aspx

[...] वास्तव में, हम इस "नियम" पहले से ही का उल्लंघन: .NET 3.5 के बाद से, CLR थ्रेड पूल को बनाए रखा है अलग प्रक्रिया में प्रत्येक AppDomain के लिए फीफो कतार, और "मूल" काम के लिए एक अतिरिक्त स्वतंत्र फीफो कतार मैं tems जैसे होस्ट द्वारा कतारबद्ध (एएसपीनेट इस सुविधा का मुख्य उपयोगकर्ता है)। इन काम कतारों के बीच हम राउंड-रोबिन, करने के लिए प्रत्येक के लिए कुछ समय के लिए काम करते निष्पादित से पहले अगले पर जाने की इजाजत दी। [...]

Btw, ध्यान दें कि सख्ती से ThreadPool बोल साझा नहीं है पूरी प्रक्रिया में अब, क्योंकि वी 4 सीएलआर वी 2 के साथ साइड-बाय-साइड लोड करने की इजाजत देता है, और प्रत्येक का अपना थ्रेडपूल होगा।

0

100% निश्चित नहीं है, लेकिन मुझे लगता है कि थ्रेड पूल प्रति प्रक्रिया एक बार है, प्रति एपडोमेन में नहीं। कोशिश thread & appdomain पर इस लेख को देखो:

4

ThreadPool, सभी appdomains बीच साझा किया जाता के रूप में प्रत्येक ThreadPool धागे संदर्भ नास्तिक है और, हाइपरथ्रेडिंग पूरे ThreadPool क्रम प्रोफ़ाइल हार्डवेयर पर अत्यधिक निर्भर आप पर चल रहे हैं (procs के # है और ऐसे)

प्रति प्रक्रिया एक थ्रेड पूल है। थ्रेड पूल में प्रति उपलब्ध प्रोसेसर के 25 थ्रेड का डिफ़ॉल्ट आकार है। पूल में धागे की संख्या SetMaxThreads विधि का उपयोग करके बदला जा सकता है। प्रत्येक थ्रेड डिफ़ॉल्ट स्टैक आकार का उपयोग करता है और डिफ़ॉल्ट प्राथमिकता पर चलता है।

स्रोत: http://msdn.microsoft.com/en-us/library/system.threading.threadpool.aspx

अगर मैं सही ढंग से याद, CLR आंतरिक ThreadPool धागे संभालती है और एक अन्य काम अनुरोध परोसने से पहले धागा संदर्भ साफ।

+1

यह .NET 4. http://msdn.microsoft.com/en-us/library/system.threading.threadpool.aspx के लिए नवीनतम दस्तावेज़ों का लिंक है। प्रति उपलब्ध प्रोसेसर में 250 कार्यकर्ता धागे हैं। – btlog

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

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