एक साधारण बेवकूफ सवाल है जो मुझे परेशान करता है और मेरे दिमाग में कई तर्क देता है। मैं नीचे दिए गए प्रश्नों के बारे में सभी संदेहों को दूर करना चाहता हूं।
class Clstest{
public static String testStaticMethod(String inFileStr) {
// section 0
// section 1
// do something with inFileStr
// section 2
// section 3
return inFileStr;
}
}
मान लें कि पाँच धागे हैं प्रत्येक एक Clstest.testStaticMethod("arg-n")
ही समय में एक कॉल निष्पादित कर रहे हैं ।
थ्रेड 1 कॉल Clstest.testStaticMethod("arg-1")
।
जब थ्रेड 1 अनुभाग 1 में होता है, तो थ्रेड 2 कॉल करता है Clstest.testStaticMethod("arg-2")
।
फिर थ्रेड 1 का क्या होगा? क्या यह सोने की अवस्था में जाएगा?
जब थ्रेड 1 को मौका मिला तो क्या यह खंड 1 से निष्पादन को फिर से शुरू करेगा जहां इसे रोक दिया गया था?
यह कैसे होता है जब एक Clstest.testStaticMethod
और एक ही Clstest.testStaticMethod
सभी पांच धागे के बीच साझा किया जाता है?
क्या inFileStr
कई थ्रेड द्वारा भेजे गए इंटरचेंज को इंटरचेंज करने की कोई संभावना है ?