से कुशल निकास मैंने थ्रेड से किसी अन्य धागे से संदेश को बुलबुले करने के उचित तरीकों पर कुछ स्रोतों को पढ़ा है ताकि वे पूरी तरह से बाहर निकलने के लिए (प्रत्येक थ्रेड अपने स्वयं के बाहर निकलने के दिनचर्या का प्रदर्शन कर सके)। इनमें से, मुझे एक वैश्विक परमाणु बुलियन का विचार पसंद आया जिसे किसी भी धागे से ध्वजांकित किया जा सकता है, और अन्य सभी धागे इस ध्वज को बाहर निकलने के लिए नियमित रूप से जांचते हैं - जब सभी धागे जुड़ जाते हैं, तो मुख्य धागा तब आवेदन से बाहर निकल सकता है।मल्टीथ्रेड किए गए एप्लिकेशन (विनिर्देश)
शुद्ध रूप से गणना धागे शायद अलग-अलग संभाले जाएंगे, है ना?
क्या यह कुशल और सुरक्षित है? क्या ऐसा करने के लिए इससे अच्छा तरीका है?
धन्यवाद!
स्मार्ट लगता है, लेकिन जब भी मैं इसे पढ़ता हूं, तो मैं बस "यह बहुत ही आसान है" महसूस नहीं कर सकता ... – Necrolis
मैं इसे गैर-पोर्टेबल स्वीकार करूंगा, लेकिन अधिकांश अन्य समाधान वास्तव में तीसरे पक्ष को प्रतिबंधित करते हैं कोड जो आप अपने धागे में उपयोग कर सकते हैं। मैं नेटवर्किंग के लिए भारी धागे का उपयोग करता हूं, और तीसरे पक्ष के नेटवर्किंग पुस्तकालयों (उदाहरण के लिए, इंडी) की आवश्यकता होती है जिसे सुरक्षित रूप से 'रोक दिया जा सकता है'। – Roddy
मैं अभी भी अधिक विस्तृत स्पष्टीकरण से भी इसे समझ नहीं पा रहा हूं। जब आप थ्रेड के अंदर छोड़ना चाहते हैं तो आप QueueUserAPC का उपयोग करते हैं और अंत में यह एक फ़ंक्शन को कॉल करता है जो अपवाद फेंकता है और यह अपवाद हर धागे तक पहुंचता है? विध्वंसकों को कैसे बुलाया जाता है और अपवाद फेंकने का कार्य कैसा दिखता है? (प्रोग्रामिंग का यह पूरा क्षेत्र मेरे लिए नया है) धन्यवाद! – oneminute