2012-06-19 8 views
18

मैं थ्रेड सुरक्षित अनुप्रयोगों के विकास पर कुछ शोध कर रहा हूं। मुझे पता है कि उपयोगकर्ता एक ही एप्लीकेशन पर एकाधिक धागे का उपयोग कर सकते हैं (यदि सीपीयू एक से अधिक थ्रेड के साथ काम करता है) लेकिन मुझे यकीन नहीं है कि क्या होता है, और उदाहरण के लिए एक ही एप्लिकेशन का उपयोग करते हुए 5 उपयोगकर्ता आपके पास उपयोगकर्ताओं को कैसे प्रबंधित करते हैं।क्या आईआईएस प्रत्येक जुड़े उपयोगकर्ता को थ्रेड देता है?

आईआईएस क्या करता है, क्या सभी उपयोगकर्ता एक ही थ्रेड पर काम कर रहे हैं? या क्या वे उदाहरण के लिए प्रत्येक धागे दिए गए हैं?

आईआईएस की बात आने पर मैं नौसिखिया हूं, इसलिए कृपया मेरे साथ भालू। मेरा प्रश्न मुझे यह समझने में मदद करेगा कि मुझे अपने कोड में सार्वजनिक स्थैतिक विधियों को लॉक करने की आवश्यकता है (जहां थ्रेड सुरक्षा महत्वपूर्ण है)।

+0

http://msdn.microsoft.com/en-us/library/ms525101(v=VS.90).aspx –

उत्तर

9

यहां ASP.NET Thread Usage on IIS 7.5, IIS 7.0, and IIS 6.0 से शुरू करने के लिए एक अच्छा पठन है। महत्वपूर्ण बात आपको याद रखना चाहिए - आईआईएस उपयोगकर्ताओं के लिए धागे नहीं बनाएगा, यह समवर्ती कॉल के लिए धागे बनाएगा। और निश्चित रूप से यदि आप शुद्ध नहीं हैं, तो आपको थ्रेड सुरक्षित स्थैतिक तरीकों को बनाना चाहिए।

+1

भूलना मत भूलें सत्र स्थिति उसी उपयोगकर्ता से धारावाहिक करने के लिए समवर्ती कॉल का कारण बन सकती है। –

+0

क्या इसका मतलब यह है कि लगातार कनेक्शन ढांचे, जैसे [सिग्नलआर] (http://signalr.net) प्रति जुड़े उपयोगकर्ताओं के एक थ्रेड को अवरुद्ध कर देगा? –

+0

यह एक अच्छा लिंक है – PeteH

4

कोई उपयोगकर्ता एक सत्र (या, सख्ती से बोल सकता है) हो सकता है, लेकिन आवश्यक रूप से उनके लिए समर्पित धागा नहीं है। यदि आप इसके बारे में सोचते हैं, तो यह करने के लिए एक जंगली अक्षम चीज होगी।

मैं सुझाव देता हूं कि यदि आप आईआईएस कैसे काम करते हैं, तो आप हैंडल प्राप्त करना चाहते हैं तो थ्रेड के बजाए सत्रों के बारे में पढ़ना शुरू करें।

+0

तो मैं यह कह सकता हूं; प्रत्येक उपयोगकर्ता को एक सत्र दिया जाता है, और यदि आवश्यक हो तो प्रत्येक सत्र थ्रेड (या एकाधिक धागे) का उपयोग कर सकता है। क्या ये सही है? –

+3

यह सही है लेकिन वास्तव में पूरी तस्वीर नहीं है। जिस बिंदु को मैं अपने मूल उत्तर में बनाने की कोशिश कर रहा हूं वह यह है कि किसी एक उपयोगकर्ता के लिए, वे एक अनुरोध करते हैं और वेबसाइट एक प्रतिक्रिया उत्पन्न करती है। स्पष्ट रूप से इस अनुरोध की सेवा के लिए कुछ धागे की आवश्यकता है। लेकिन प्रतिक्रिया मिलने के बाद, धागे के साथ क्या होता है? यह सिर्फ ऑफचेंस पर लटका नहीं है कि उपयोगकर्ता एक और अनुरोध करेगा। आईआईएस द्वारा अन्य लोगों से सेवा अनुरोधों के लिए इसका पुन: उपयोग किया जाता है। चीजों का "सत्र" पक्ष यह है कि iis एक लौटने वाले उपयोगकर्ता को पहचानता है (उनके लिए चारों ओर लटकते धागे को रखने के बिना) – PeteH

+0

इसका यह भी अर्थ है कि 2 सत्र (प्रत्येक उपयोगकर्ता के लिए 1) कभी भी संघर्ष नहीं करेगा यदि आपने कोड में कोई बहु-थ्रेडिंग लागू नहीं किया है –

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