Statisches Methodenverhalten in einer Umgebung mit mehreren Threads in Java

Es gibt eine einfache blöde Frage, die mich stört und in meinem Kopf mehrere Argumente vorbringt. Ich möchte alle Zweifel an den folgenden Fragen ausräumen.

class Clstest{

    public static String testStaticMethod(String inFileStr) {

        // section 0

        // section 1

        // do something with inFileStr

        // section 2

        // section 3

        return inFileStr;

    }

}

Nehmen wir an, es gibt fünf Threads, die jeweils einen Aufruf von ausführenClstest.testStaticMethod("arg-n") zur selben Zeit.

Thread 1 AnrufeClstest.testStaticMethod("arg-1").

Wenn sich Thread 1 in Abschnitt 1 befindet, ruft Thread 2 aufClstest.testStaticMethod("arg-2").

Was passiert dann mit Thread 1? Wird es schlafen gehen?

Wenn Thread 1 die Chance hat, wird er die Ausführung ab Abschnitt 1 fortsetzen, in dem er angehalten wurde?

Wie es passiert, wenn es einen gibtClstest.testStaticMethod und dasselbeClstest.testStaticMethod wird zwischen allen fünf Threads geteilt?

Gibt es eine Möglichkeit, die zu tauschen?inFileStr von mehreren Threads gesendet?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage