2011-11-29 38 views
13

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

अंतर क्या हैं? प्रत्येक परिस्थितियों में किस परिस्थिति में बनाया गया है?

Clip of Concurrency Analyzer, Threads view

उत्तर

7

कन्करेंसी विजुअलाइज़र एक बहुत नया है, लेकिन वास्तव में बहुत अच्छा है! सुविधा है, इसलिए देखते हैं एक बिट (मैं अभी तक विश्वास करते हैं) के बारे में जानकारी के लिए, यह के बारे में नीचे क्या मैं MSDN तरह आधिकारिक जानकारी स्रोतों में मिल गया है:

  • कार्यकर्ता धागा - एक धागा है कि आवेदन मुख्य थ्रेड द्वारा बनाया गया था (तालिका में मुख्य थ्रेड प्रविष्टि)
  • CLR कार्यकर्ता धागा - एक कार्यकर्ता धागा कि Common Language Runtime

उपयोगी लिंक्स द्वारा बनाया गया था:

+0

किन परिस्थितियों CLR धागे पैदा नहीं करता है के तहत? क्या ये धागे [थ्रेडपूल] द्वारा बनाए गए हैं (http://msdn.microsoft.com/en-us/library/system.threading.threadpool.aspx)? आपके उत्तर को देखते हुए, मैं वर्कर थ्रेड की बड़ी संख्या से भी रहस्यमय हूं, मुझे समझ में नहीं आता कि मैं कितने लोगों को बना सकता था। – pomeroy

+0

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

+0

स्क्रीनशॉट को देखते हुए आपके पास केवल एक सक्रिय अनुप्रयोग धागा है (मुख्य थ्रेड को छोड़कर) जो टाइमलाइन ग्राफ पर बैंगनी है, इसका मतलब है कि यह आई/ओ ऑपरेशन में शामिल है (आप फ़ाइल/नेटवर्क स्ट्रीम, आईओ पोर्ट या उस तरह पढ़ रहे हैं), सब कुछ सिंक के लिए अन्य धागे अवरुद्ध हैं। मुझे नहीं पता कि आपके पास कई अवरुद्ध कार्यकर्ता धागे क्यों हैं, क्या आप कुछ सिंक्रनाइज़ किए गए लूप में धागे बना रहे हैं? – sll

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