नीचे दिए गए कोड में मैं 20 धागे बना देता हूं, उनमें से प्रत्येक को एक संदेश, नींद, और एक और संदेश प्रिंट करें। मैं धागे को अपने मुख्य धागे में शुरू करता हूं और फिर सभी धागे में भी शामिल होता हूं। मैं उम्मीद करता हूं कि "सभी किए गए" संदेश को केवल सभी धागे समाप्त होने के बाद ही मुद्रित किया जाएगा। फिर भी सभी धागे किए जाने से पहले "सब कुछ किया जाता है" मुद्रित हो जाता है। क्या कोई इस व्यवहार को समझने में मेरी मदद कर सकता है?Thread.join व्यवहार के रूप में व्यवहार नहीं किया गया क्योंकि मुझे स्केल
धन्यवाद।
def ttest() = {
val threads =
for (i <- 1 to 5)
yield new Thread() {
override def run() {
println("going to sleep")
Thread.sleep(1000)
println("awake now")
}
}
threads.foreach(t => t.start())
threads.foreach(t => t.join())
println("all done")
}
यहाँ आउटपुट है: केंट
यहाँ कोड है
going to sleep
all done
going to sleep
going to sleep
going to sleep
going to sleep
awake now
awake now
awake now
awake now
awake now
मैं इस प्रश्न को उखाड़ फेंक रहा हूं क्योंकि समझ के लिए विशिष्ट बातचीत, श्रेणियां और धागे एक सामान्य पुनरावर्ती त्रुटि पैटर्न प्रतीत होते हैं। –