有一个简单的愚蠢问题困扰着我,并在我的脑海中提出了几个论点。我想排除对以下问题的所有疑问。
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
多个线程发送的内容?