उत्तर
javadoc कहता है क्यों। SingleThreadModel
कम भार संगामिति के लिए एक आसान समाधान के लिए की गई है, लेकिन यह भी है कि प्रबंधन नहीं किया:
ध्यान दें कि SingleThreadModel सभी धागा सुरक्षा के मुद्दों का समाधान नहीं करता। उदाहरण के लिए, सत्र गुण और स्थिर चर को अभी भी एकाधिक थ्रेड पर एकाधिक अनुरोधों पर एकाधिक अनुरोधों तक पहुंचा जा सकता है, भले ही सिंगल थ्रेड मॉडेल सर्वलेट का उपयोग किया जाता है। यह अनुशंसित है कि एक डेवलपर बजाय इस तरह के उपयोग एक उदाहरण चर के या कोड उन संसाधनों तक पहुँचने का ब्लॉक सिंक्रनाइज़ करने से परहेज के रूप में इस इंटरफेस को लागू करने, उन लोगों के मुद्दों को हल करने अन्य साधनों से लेते हैं।
यदि यह प्राप्त नहीं किया जा सकता है, तो इसका उपयोग नहीं किया जाना चाहिए।
यह मूल रूप से समेकन को संभालने का एक खराब तरीका है। राज्य को अपने सर्वलेट से बाहर ले जाएं, ताकि एक ही सर्वलेट को कई धागे द्वारा समवर्ती रूप से उपयोग किया जा सके। सर्वलेट उदाहरणों के "पूल" में राज्य को रखते हुए, जिनमें से प्रत्येक पिछले अनुरोध आदि से छोड़ा गया राज्य बहुत भयानक है।
जावा सर्वलेट युक्ति से:
SingleThreadModel इंटरफ़ेस गारंटी देता है कि एक समय में केवल एक धागा एक दिया सर्वलेट उदाहरण की सेवा विधि में निष्पादित करेंगे का उपयोग। यह ध्यान रखना महत्वपूर्ण है कि यह गारंटी केवल प्रत्येक सर्वलेट उदाहरण पर लागू होती है, क्योंकि कंटेनर ऐसे ऑब्जेक्ट्स को पूल करना चुन सकता है। ऑब्जेक्ट्स जो एक से अधिक सर्वलेट उदाहरण पर एक समय में पहुंच योग्य हैं, जैसे कि HttpSession के उदाहरण, पर विशेष रूप से एकाधिक सर्वलेट्स पर उपलब्ध हो सकते हैं, जिनमें सिंगल थ्रेड मॉडल लागू किया गया है।
यह अनुशंसित है कि एक डेवलपर ऐसे एक उदाहरण चर के उपयोग से बचने या कोड उन संसाधनों तक पहुँचने का ब्लॉक सिंक्रनाइज़ करने के रूप में इस इंटरफेस को लागू करने, के बजाय उन मुद्दों को हल करने अन्य साधनों से लेते हैं। सिंगल थ्रेड मॉडेल इंटरफेस विनिर्देश के इस संस्करण में बहिष्कृत है।
हाँ सिंगल थ्रेड मॉडेल इंटरफ़ेस को बहिष्कृत किया गया है। इसका प्रयोग न करें। वास्तव में आपको इसकी आवश्यकता नहीं है, इसके बजाय ऑब्जेक्ट फ़ील्ड के बजाय स्थानीय चर का उपयोग करें क्योंकि "प्रत्येक थ्रेड को जावा में स्थानीय चर की अपनी प्रति प्राप्त होती है। ऑब्जेक्ट फ़ील्ड को हटाकर और इसे स्थानीय चर के साथ बदलकर, यह विशेष थ्रेडिंग समस्या सुलझ गया है।" Reference
- 1. javax.servlet कहां है?
- 2. क्यों absolutelayout बहिष्कृत है?
- 3. JButton.enable क्यों बहिष्कृत है?
- 4. org.hibernate.cache.Cache क्यों बहिष्कृत है?
- 5. क्यों/Wp64 बहिष्कृत है?
- 6. javax.servlet 2.5
- 7. सूर्य jdk स्रोत कोड में javax.servlet पैकेज क्यों नहीं है?
- 8. संकलित करें: पैकेज javax.servlet
- 9. जावा: सिंगल थ्रेड शेड्यूल्ड एक्स्सेलर और java.util.concurrent.RejectedExecutionException
- 10. रेल इन्फ्लिक्टर मॉड्यूल क्यों बहिष्कृत है?
- 11. मल्टीथ्रेडिंग सिंगल थ्रेड (सरल लूप टेस्ट) से तेज नहीं है
- 12. यह स्थिर अंतिम चर एक सिंगल थ्रेड-सुरक्षित में क्यों है?
- 13. लॉकिंग के बिना एकल-निर्माता सिंगल-उपभोक्ता सर्कुलर कतार थ्रेड सुरक्षित क्यों है?
- 14. पोस्टमेडियस setRequestBody (स्ट्रिंग) बहिष्कृत - क्यों?
- 15. मैं थ्रेड सुरक्षित जेएसपी पेज
- 16. दो चरण रोटेशन एनीमेशन बहिष्कृत है। इस एप्लिकेशन को चिकनी सिंगल-स्टेज एनीमेशन
- 17. जावा सर्वर के लिए सिंगल या एकाधिक थ्रेड पूल?
- 18. std :: strstream बहिष्कृत क्यों किया गया था?
- 19. दिनांक क्यों था .getTimezone ऑफ़सेट बहिष्कृत?
- 20. जावा घटक। शो()/छुपाएं() बहिष्कृत हैं ... क्यों?
- 21. ब्लोएटेड व्यू मॉडेल
- 22. क्या एमएफसी बहिष्कृत है?
- 23. रूपांतरण बहिष्कृत है
- 24. फ़ाइलों को क्यों हटाया जाता है .deleteDirectoryContents() गुवा में बहिष्कृत?
- 25. क्यों जुनीट मेथडरूल और टेस्टवैचमैन को बहिष्कृत किया गया है?
- 26. m2eclipse ग्रहण पथ से संसाधनों को बहिष्कृत क्यों करता है?
- 27. InstanceMethods मॉड्यूल को बहिष्कृत क्यों किया गया है?
- 28. पाइथन में MutableString को बहिष्कृत क्यों किया जाता है?
- 29. एक्सेलेरोमीटर क्यों है: किया गया त्वरित: आईओएस 5 में बहिष्कृत?
- 30. क्लोन नोड कस्टम गुणों को क्यों बहिष्कृत करता है?