Comportamento do método estático no ambiente multi-threaded em java
Há uma pergunta estúpida simples que me incomoda e faz vários argumentos em minha mente. Eu quero jogar fora todas as dúvidas sobre as questões abaixo.
class Clstest{
public static String testStaticMethod(String inFileStr) {
// section 0
// section 1
// do something with inFileStr
// section 2
// section 3
return inFileStr;
}
}
Vamos supor que há cinco segmentos cada um executando uma chamada paraClstest.testStaticMethod("arg-n")
ao mesmo tempo.
Chamadas de thread 1Clstest.testStaticMethod("arg-1")
.
Quando o segmento 1 está na seção 1, as chamadas de thread 2Clstest.testStaticMethod("arg-2")
.
Então, o que acontecerá com o Thread 1? Irá dormir no estado?
Quando o Tópico 1 tiver a chance, ele retomará a execução da seção 1, onde foi pausado?
Como isso acontece quando há umClstest.testStaticMethod
e mesmoClstest.testStaticMethod
é compartilhado entre todos os cinco segmentos?
Existe alguma possibilidade de trocar oinFileStr
enviado por vários segmentos?