Jest proste, głupie pytanie, które przeszkadza mi i rodzi kilka argumentów w mojej głowie. Chcę odrzucić wszystkie wątpliwości dotyczące poniższych pytań.
class Clstest{
public static String testStaticMethod(String inFileStr) {
// section 0
// section 1
// do something with inFileStr
// section 2
// section 3
return inFileStr;
}
}
Załóżmy, że każdy z pięciu wątków wykonuje wywołanie Clstest.testStaticMethod("arg-n")
w tym samym czasie.
Wątek 1 wywołuje Clstest.testStaticMethod("arg-1")
.
Gdy wątek 1 znajduje się w sekcji 1, wywołuje wątek 2 Clstest.testStaticMethod("arg-2")
.
Co się stanie z wątkiem 1? Czy przejdzie w stan uśpienia?
Kiedy wątek 1 dostanie szansę, czy wznowi wykonywanie od sekcji 1, w której został wstrzymany?
Jak to się dzieje, gdy we wszystkich pięciu wątkach jest jeden Clstest.testStaticMethod
i Clstest.testStaticMethod
to samo ?
Czy istnieje możliwość zamiany inFileStr
wysłanych wieloma wątkami?