Il y a une simple question stupide qui me dérange et qui fait plusieurs arguments dans mon esprit. Je veux jeter tous les doutes sur les questions ci-dessous.
class Clstest{
public static String testStaticMethod(String inFileStr) {
// section 0
// section 1
// do something with inFileStr
// section 2
// section 3
return inFileStr;
}
}
Supposons que cinq threads exécutent chacun un appel en Clstest.testStaticMethod("arg-n")
même temps.
Thread 1 appelle Clstest.testStaticMethod("arg-1")
.
Lorsque le thread 1 est dans la section 1, le thread 2 appelle Clstest.testStaticMethod("arg-2")
.
Alors qu'arrivera-t-il au fil 1? Va-t-il s'endormir?
Quand Thread 1 aura-t-il la chance de reprendre l'exécution à partir de la section 1 où elle a été interrompue?
Comment cela se passe-t-il quand un seul Clstest.testStaticMethod
et même Clstest.testStaticMethod
est partagé entre les cinq threads?
Existe-t-il une possibilité d'échanger l' inFileStr
envoi par plusieurs threads?