-3
有時,Java中的主要方法似乎運行不正常。這是一個使用線程的例子。第二個線程先保持執行(它們都是在一個同步對象上運行,所以第二個線程應該等到第一個線程完成,但首先執行)。Java線程執行不按順序執行
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.");
}
}
}
我第一次跑在IDE的代碼,所以我認爲這可能是問題,但我用命令行的時候得到了相同的結果。
請發佈「MyThread」類。沒有它,我們無法知道發生了什麼。 – BackSlash
請閱讀java synchronized block – logger
這段代碼不會做太多,因爲線程mt1和mt2永遠不會啓動。如果你能提供一個最小的工作例子,那會有幫助。 –