Comportamiento del método estático en un entorno de subprocesos múltiples en Java
Hay una simple pregunta estúpida que me molesta y hace varios argumentos en mi mente. Quiero desechar todas las dudas sobre las siguientes preguntas.
class Clstest{
public static String testStaticMethod(String inFileStr) {
// section 0
// section 1
// do something with inFileStr
// section 2
// section 3
return inFileStr;
}
}
Asumamos que hay cinco hilos cada uno ejecutando una llamada aClstest.testStaticMethod("arg-n")
al mismo tiempo.
Hilo 1 llamadasClstest.testStaticMethod("arg-1")
.
Cuando el hilo 1 está en la sección 1, el hilo 2 llamaClstest.testStaticMethod("arg-2")
.
Entonces, ¿qué pasará con el hilo 1? ¿Va a pasar al estado de sueño?
Cuando Thread 1 tenga la oportunidad, ¿reanudará la ejecución de la sección 1 donde se pausó?
¿Cómo sucede cuando hay uno?Clstest.testStaticMethod
y lo mismoClstest.testStaticMethod
es compartido entre los cinco hilos?
¿Hay alguna posibilidad de intercambiar lainFileStr
enviado por múltiples hilos?