나를 괴롭 히고 내 마음 속에 몇 가지 논쟁을하는 간단한 어리석은 질문이 있습니다. 아래 질문에 대한 모든 의심을 버리고 싶습니다.
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에서 실행을 재개 할 기회를 얻었을 때?
일이있을 때 어떻게됩니까 Clstest.testStaticMethod
과 동일 Clstest.testStaticMethod
다섯 개 스레드간에 공유?
inFileStr
여러 스레드 에서 보낸 것을 교환 할 가능성이 있습니까?