Поведение статического метода в многопоточной среде в Java

Есть простой глупый вопрос, который беспокоит меня и заставляет задуматься. Я хочу выбросить все сомнения по поводу вопросов ниже.

class Clstest{

    public static String testStaticMethod(String inFileStr) {

        // section 0

        // section 1

        // do something with inFileStr

        // section 2

        // section 3

        return inFileStr;

    }

}

Давайте предположим, что есть пять потоков, каждый из которых выполняет вызовClstest.testStaticMethod("arg-n") в то же время.

Тема 1 звонкиClstest.testStaticMethod("arg-1").

Когда поток 1 находится в разделе 1, поток 2 вызываетClstest.testStaticMethod("arg-2").

Тогда что будет с темой 1? Будет ли это идти в состояние сна?

Когда поток 1 получит шанс возобновить выполнение из раздела 1, где он был приостановлен?

Как это происходит, когда есть одинClstest.testStaticMethod и то же самоеClstest.testStaticMethod распределяется между всеми пятью потоками?

Есть ли возможность поменятьinFileStr отправлено несколькими потоками?

Ответы на вопрос(2)

Ваш ответ на вопрос