Manchmal scheint die Hauptmethode in Java außer Betrieb zu sein. Hier ist ein Beispiel mit Threads. Der zweite Thread führt die Ausführung fort (beide wirken auf ein synchronisiertes Objekt, sodass der zweite Thread warten sollte, bis der erste Thread fertig ist, aber stattdessen wird er zuerst ausgeführt).Java-Threads, die nicht in der richtigen Reihenfolge ausgeführt werden
public class Sync {
public static void main(String[] args) {
int a [] = { 1, 2, 3, 4, 5 };
MyThread mt1 = new MyThread("Child #1", a);
MyThread mt2 = new MyThread("Child #2", a);
try {
mt1.thread.join();
mt2.thread.join();
} catch(InterruptedException exc) {
System.out.println("Main thread interrupted.");
}
}
}
Ich lief den Code zuerst in einer IDE, so dachte ich, dass das Problem sein könnte, aber ich habe das gleiche Ergebnis, wenn Zeilenbefehl.
Veröffentlichen Sie bitte die Klasse 'MyThread'. Wir können nicht wissen, was ohne es passiert. – BackSlash
Bitte lesen Sie Java synchronisiert Block – logger
Dieser Code wird nicht viel tun, da die Threads mt1 und mt2 nie gestartet werden. Wenn Sie ein minimales Arbeitsbeispiel bereitstellen könnten, würde das helfen. –