के बीच अंतर पुन: प्रवेश फ़ंक्शन और थ्रेड सुरक्षित फ़ंक्शन के बीच क्या अंतर है?पुन: प्रवेशकर्ता और थ्रेड-सेफ फ़ंक्शन
उत्तर
क्या आपने wiki article on the subject चेक किया था। यह अच्छी तरह से बताता है तो कृपया पूरी चर्चा के लिए देखें।
लेख से कुछ ही प्रासंगिक बिट:
कंप्यूटिंग में, एक कंप्यूटर प्रोग्राम या सबरूटीन रैत्रांत कहा जाता है अगर यह इसके निष्पादन के बीच में बाधित किया जा सकता है, और फिर सुरक्षित रूप से फिर से ("फिर से कहा जा -इंटर ") अपने पिछले आमंत्रण पूर्ण निष्पादन से पहले। बाधा या कॉल, या एक बाहरी कार्रवाई जैसे हार्डवेयर इंटरप्ट या सिग्नल द्वारा आंतरिक कार्रवाई के कारण बाधा उत्पन्न हो सकती है। एक बार पुनर्निर्मित आमंत्रण पूरा हो जाने के बाद, पिछले आमंत्रण सही निष्पादन फिर से शुरू हो जाएंगे।
और
reentrancy की यह परिभाषा मल्टी-थ्रेडेड वातावरण में धागे की सुरक्षा की है कि से अलग है। एक पुनर्विक्रेता subroutine धागा सुरक्षा प्राप्त कर सकते हैं, लेकिन अकेले पुनर्विक्रेता होने के नाते सभी स्थितियों में थ्रेड-सुरक्षित होने के लिए पर्याप्त नहीं हो सकता है। इसके विपरीत, थ्रेड-सुरक्षित कोड को पुनर्विक्रेता नहीं होना चाहिए (उदाहरण के लिए नीचे देखें)।
कृपया एक वास्तविक उत्तर पोस्ट करें जो लिंक को संक्षेप में ठंडा होने पर सारांशित करता है (जैसा कि यहां और अब मामला है)। – nedR
पुन: प्रवेशकर्ता का मतलब कोई वैश्विक स्थिति (केवल स्थानीय) नहीं है।
थ्रेड सुरक्षित का मतलब है कि 2 (या अधिक) धागे एक दूसरे के साथ संघर्ष करने के लिए संभव नहीं है (विवादित मान लिखकर)।
लेकिन जैसा कि ब्रायन कहते हैं, विकी आलेख इसे अच्छी तरह बताता है ... –
एक धागा सुरक्षित समारोह, कई धागे से एक साथ कहा जा सकता है यहां तक कि जब आमंत्रण, साझा डेटा का उपयोग क्योंकि साझा किए गए डेटा के लिए सभी संदर्भ क्रमांकित हैं।
एक रैत्रांत समारोह कर सकते हैं भी एक से अधिक थ्रेड से एक साथ कहा जा है, लेकिन हर मंगलाचरण अपने स्वयं के डेटा का उपयोग करता है केवल यदि।
इसलिए, एक धागा सुरक्षित समारोह हमेशा रैत्रांत है, लेकिन एक रैत्रांत समारोह हमेशा धागा सुरक्षित नहीं है।
अंतर उदाहरण के साथ पर cottoned जा सकता है,
एक वर्ग कहा जाता है रैत्रांत अपने सदस्य कार्यों से अधिक थ्रेड से सुरक्षित रूप से कहा जा सकता है जब तक हो सकता है, के रूप में प्रत्येक धागा एक अलग का उपयोग करता है कक्षा के उदाहरण। कक्षा थ्रेड-सुरक्षित है यदि उसके सदस्य फ़ंक्शंस को एकाधिक थ्रेड से सुरक्षित रूप से बुलाया जा सकता है, भले ही सभी धागे कक्षा के समान उदाहरण का उपयोग करें।
स्रोत: Qt
- 1. थ्रेडसेफ बनाम पुन: प्रवेश
- 2. थ्रेडसेफ
- 3. थ्रेडसेफ लॉगिंग
- 4. गैर-थ्रेडसेफ सी ++ lib
- 5. जेनरेटर थ्रेडसेफ हैं?
- 6. सामान्य रूप से पुन: प्रवेश लॉक और अवधारणा क्या है?
- 7. बढ़ावा है :: इंटरप्रोसेस थ्रेडसेफ?
- 8. जावा: ServerSocket.accept थ्रेडसेफ है?
- 9. पायथन थ्रेडसेफ ऑब्जेक्ट कैश
- 10. एनएसआईएनएक्सएक्सपाथ थ्रेडसेफ है?
- 11. थ्रेडसेफ क्लाइंट कॉनमैनगर ऑब्जेक्ट
- 12. एंड्रॉइड - पुन: प्रयोज्य फ़ंक्शन कैसे बनाएं?
- 13. थ्रेडसेफ का क्या अर्थ है?
- 14. लॉक के बिना थ्रेडसेफ संग्रह
- 15. क्या एसटीएल खाली है() थ्रेडसेफ?
- 16. क्या विनाशक थ्रेडसेफ होना चाहिए?
- 17. स्ट्रिंग थ्रेडसेफ प्राप्त/सेट है?
- 18. जावा मल्टीकास्ट सॉकेट थ्रेडसेफ है?
- 19. क्या पॉको :: लॉगर थ्रेडसेफ है?
- 20. सिंगलटन क्लास थ्रेडसेफ कैसे बनाएं?
- 21. पुन: व्यवस्थित करें UITableView और छिपाने पुन: व्यवस्थित करें नियंत्रण
- 22. दृश्य या फ़ंक्शन के साथ sql का पुन: उपयोग करें
- 23. एक स्ट्रिंग संपत्ति खुद थ्रेडसेफ है?
- 24. PHP: फ़ंक्शन त्रुटि को पुन: प्राप्त नहीं कर सकता है?
- 25. PHP त्रुटि - फ़ंक्शन को पुन: प्राप्त नहीं कर सकता
- 26. पायथन: os.pipe() oswrite() os.pipe() थ्रेडसेफ पर है?
- 27. मैं AllocateHwnd थ्रेडसेफ कैसे बना सकता हूं?
- 28. धागा या थ्रेडसेफ डीएओ प्रति एक डीएओ?
- 29. थ्रेडसेफ को कैसे परिभाषित किया जाए?
- 30. रूबी का नेट :: HTTP थ्रेडसेफ है?
http: // stackoverflow।कॉम/प्रश्न/2274254/किस प्रकार का कोड-कॉल-टू-कॉल-एंट्रंट/2274289 # 2274289 –
समान समान नहीं होने पर बहुत समान है: http://stackoverflow.com/questions/856823/threadsafe-vs- पुन: प्रवेश –