Ada pertanyaan bodoh sederhana yang mengganggu saya dan membuat beberapa argumen di benak saya. Saya ingin membuang semua keraguan tentang pertanyaan di bawah ini.
class Clstest{
public static String testStaticMethod(String inFileStr) {
// section 0
// section 1
// do something with inFileStr
// section 2
// section 3
return inFileStr;
}
}
Mari kita asumsikan ada lima utas yang masing-masing menjalankan panggilan ke Clstest.testStaticMethod("arg-n")pada saat yang sama.
Utas 1 panggilan Clstest.testStaticMethod("arg-1").
Saat utas 1 ada di bagian 1, utas 2 memanggil Clstest.testStaticMethod("arg-2").
Lalu apa yang akan terjadi pada Thread 1? Apakah akan masuk ke status tidur?
Ketika Thread 1 mendapat kesempatan, apakah ia akan melanjutkan eksekusi dari bagian 1 di mana ia dijeda?
Bagaimana itu terjadi ketika ada satu Clstest.testStaticMethoddan sama Clstest.testStaticMethoddibagikan di antara kelima utas?
Apakah ada kemungkinan untuk menukar yang inFileStrdikirim oleh beberapa utas?