私を悩ませ、私の心の中でいくつかの議論をする単純な愚かな質問があります。以下の質問に対する疑問をすべて捨てたいと思います。
class Clstest{
public static String testStaticMethod(String inFileStr) {
// section 0
// section 1
// do something with inFileStr
// section 2
// section 3
return inFileStr;
}
}
5つのスレッドがそれぞれClstest.testStaticMethod("arg-n")
同時に呼び出しを実行していると仮定します。
スレッド1が呼び出しますClstest.testStaticMethod("arg-1")
。
スレッド1がセクション1にある場合、スレッド2はを呼び出しますClstest.testStaticMethod("arg-2")
。
次に、スレッド1はどうなりますか?スリープ状態になりますか?
スレッド1がチャンスを得たとき、一時停止したセクション1から実行を再開しますか?
1がありますとき、どのようにそれが起こるClstest.testStaticMethod
と同じことがClstest.testStaticMethod
、すべての5つのスレッド間で共有されていますか?
inFileStr
複数のスレッドによって送信されたものを交換する可能性はありますか?