Há uma pergunta simples e estúpida que me incomoda e traz vários argumentos em minha mente. Quero tirar 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 cinco threads estão executando uma chamada para Clstest.testStaticMethod("arg-n")
ao mesmo tempo.
Thread 1 chama Clstest.testStaticMethod("arg-1")
.
Quando o thread 1 está na seção 1, o thread 2 chama Clstest.testStaticMethod("arg-2")
.
Então, o que acontecerá com o Tópico 1? Ele irá para o estado de suspensão?
Quando o Thread 1 tiver a chance, ele retomará a execução da seção 1 onde foi pausado?
Como isso acontece quando há um Clstest.testStaticMethod
e o mesmo Clstest.testStaticMethod
é compartilhado entre todos os cinco tópicos?
Existe alguma possibilidade de trocar o inFileStr
enviado por vários threads?