-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永远不会启动。如果你能提供一个最小的工作例子,那会有帮助。 –