में थ्रेड में शामिल होना join
विधि क्या करती है?
के रूप में:ग्रोवी
def thread = Thread.start { println "new thread" }
thread.join()
इस कोड को भी join
बयान के बिना ठीक काम करता है।
में थ्रेड में शामिल होना join
विधि क्या करती है?
के रूप में:ग्रोवी
def thread = Thread.start { println "new thread" }
thread.join()
इस कोड को भी join
बयान के बिना ठीक काम करता है।
एक ही रूप में यह जावा में करता है - यह धागा कि धागा Thread
वस्तु जिस पर join
समाप्त कर दिया है बुलाया गया था का प्रतिनिधित्व करती है जब तक ब्लॉक करने के लिएjoin
कहा जाता है का कारण बनता है।
यदि आप मुख्य थ्रेड को कुछ नया करते हैं तो आप अंतर देख सकते हैं (उदाहरण के लिए println
) नया धागा उत्पन्न करने के बाद।
def thread = Thread.start {
sleep(2000)
println "new thread"
}
//thread.join()
println "old thread"
join
जबकि अन्य धागा अभी भी चल रहा है इस println भी हो सकता है, तो आप old thread
मिल जाएगा बिना, new thread
से दो सेकंड बाद का पालन किया। join
के साथ मुख्य थ्रेड को अन्य थ्रेड समाप्त होने तक प्रतीक्षा करनी चाहिए, इसलिए आपको दो सेकंड के लिए कुछ भी नहीं मिलेगा, फिर new thread
, फिर old thread
।
तो प्रोग्राम थ्रेड समाप्त होने तक कुछ भी नहीं करेगा? – user1170330
@ user1170330 मैंने एक उदाहरण का थोड़ा और जोड़ा है। –
बहुत बहुत धन्यवाद! – user1170330