Es gibt eine einfache dumme 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 gleichzeitig einen Aufruf ausführen Clstest.testStaticMethod("arg-n")
.
Thread 1 ruft auf Clstest.testStaticMethod("arg-1")
.
Wenn sich Thread 1 in Abschnitt 1 befindet, ruft Thread 2 auf Clstest.testStaticMethod("arg-2")
.
Was passiert dann mit Thread 1? Wird es in den Schlafzustand gehen?
Wenn Thread 1 die Chance hat, wird die Ausführung von Abschnitt 1 fortgesetzt, in dem sie angehalten wurde?
Wie passiert es, wenn alle fünf Threads ein Clstest.testStaticMethod
und dasselbe Clstest.testStaticMethod
gemeinsam nutzen?
Gibt es eine Möglichkeit, die inFileStr
von mehreren Threads gesendeten auszutauschen?