Thread.CurrentThread.Join() को कॉल करने का क्या प्रभाव है, और अगर इसे कॉल करने के लिए कब समझदारी होगी?Thread.CurrentThread.Join() कब समझता है?
उत्तर
() Thread.CurrentThread.Join बुला के प्रभाव
आप वर्तमान धागे के निष्पादन, और प्रभावी ढंग से मृत यह ताला को अवरुद्ध कर देगा क्या है। यह मौजूदा थ्रेड को तब तक अवरुद्ध कर देगा जब तक कि वर्तमान थ्रेड समाप्त न हो जाए, जो कभी नहीं होगा।
, और अगर इसे कॉल करने के लिए समझदारी होगी?
यह वास्तव में ऐसा करने के लिए समझ में नहीं आता है। आपको इस विधि को इस तरीके से कभी नहीं बुलाया जाना चाहिए।
एक तरफ ध्यान दें पर, जब से तुम .NET 4 का उपयोग कर रहे हैं, मैं सामान्य रूप में Thread.Join
का उपयोग कर से बचने की सलाह देते हैं। नए Task
/Task<T>
कक्षाओं का उपयोग कई तरीकों से बहुत अच्छा है, क्योंकि आप आसानी से निरंतरता संलग्न कर सकते हैं (या यदि आपको वास्तव में ब्लॉक करने की आवश्यकता है तो हमेशा Task.Wait()
पर कॉल करें)। जो मैं एक तरह से संदेह, जब तक यह वर्तमान धागे पर शामिल होने के लिए अन्य धागे को रोकने के लिए कुछ हैक है - -
आपकी ओर से ध्यान दें: क्या आप सी # 5 (.NET 4.5) को सी # 4 (.NET 4.0) के साथ भ्रमित कर रहे हैं? –
@JeppeStigNielsen नहीं - 'कार्य 'और' कार्य
@ जेप्पेस्टिगनिल्सन देखें: http://msdn.microsoft.com/en-us/library/dd321424(v=vs.100)।एएसपीएक्स –
नहीं है, CurrentThread.Join() कोई मतलब नहीं
बनाता है यह अपने कार्यक्रम चलना बंद कर सकता है, धागा धागा उदाहरण के लिए एक के लिए एक इंतजार कर रही है।
वास्तव में
CurrentThread.Join()
कि आप वास्तविक कोड में देखा कि यह था या यह था
CurrentThread.Join(someTimeout)
बाद
Thread.Sleep(someTimeout)
में शामिल होने की अनुमति देता है वर्तमान धागा पर सिवाय इसके कि
के बराबर है यदि आप एक जीयूआई/COM स्थिति में हैं तो जारी रखने के लिए संदेश पंपिंग।
यह वास्तव में देखने योग्य दुनिया में समझ में आता है। आइए कहें कि आपके पास मुख्य रूप से कतार श्रोता है और आप मुख्य धागे को हमेशा के लिए चलाना चाहते हैं। जबकि (सत्य) करने के बजाय और अपना कोड लूप में डालने के बजाय, अंतिम पंक्ति आप इसे लिख सकते हैं। इस तरह वर्तमान धागा आवेदन के भीतर उत्पन्न अन्य धागे के लिए भी मूल धागा होगा। ऐप के लिए प्रवेश बिंदु के रूप में इसके बारे में सोचें।
- 1. संकलक Nullables कैसे समझता है?
- 2. लेआउट एल्गोरिदम जो कंपास को समझता है
- 3. यह अधिभार समाधान कैसे समझता है?
- 4. एएसपीनेट एमवीसी इसे कैसे समझता है?
- 5. क्या जिशिन कोणीय को समझता है?
- 6. जीसीसी समझता है कि संकलन समय कहाँ लिया जाता है
- 7. क्या मैं जॉइन को गलत समझता हूं?
- 8. क्या मैं ओएसवॉक सही समझता हूँ?
- 9. बिलाव समझता AMQ: दलाल लेकिन ग्रहण स्कीमा
- 10. PHP SOAP क्लाइंट जो बहु-भाग संदेशों को समझता है?
- 11. क्या पर्ल v5.18 का प्रकार व्याख्यात्मक subroutines समझता है?
- 12. Registry.CreateSubKey कब वापस आती है?
- 13. हैश कब टक्कर लगी है?
- 14. HTTPS हैंडशेक कब होता है?
- 15. कब और कब स्टब करना है?
- 16. ब्लूम फ़िल्टर कब उपयोगी है?
- 17. PyEval_InitThreads कब कहा जाता है?
- 18. php json_decode झूठी वापसी कब करता है?
- 19. 'यह' कब आवश्यक है?
- 20. IPPROTO_UDP कब आवश्यक है?
- 21. कब निपटान आवश्यक है?
- 22. फ़ाइल.जॉइन उपयोगी कब है?
- 23. HttpContext.User.Identity सेट कब है?
- 24. @ उपयोगी कब होता है?
- 25. क्रॉसपाथ कब सही है?
- 26. "स्वयं" कब आवश्यक है?
- 27. ओओपी कब बेहतर है?
- 28. कक्षा कब लंबी है?
- 29. __proto__ कब उपयोगी है?
- 30. NSURLSession कब चलाता है?
क्या आपने प्रलेखन पढ़ा है? –
क्या आपने इसे किसी कोड में कहीं देखा था? इसे कॉल करने पर भी विचार करना बहुत भयानक है। –
आपको वर्तमान थ्रेड पर नहीं, _another_ thread 't' पर' t.Join() 'को कॉल करना चाहिए। [प्रलेखन] देखें (http://msdn.microsoft.com/en-us/library/95hbf2ta.aspx)। –