尽管我首先调用了thread1的start()方法,但是线程2首先在输出上运行。为什么会这样呢? 输出: 线程二运行:0 线程二运行:1 线程一正在运行:0 线程二运行:2 ....
package interfacetest;
class thread1 extends Thread {
public void run() {
for(int i=0; i<10; i++) {
System.out.println("Thread one running: " +i);
}
}
}
class thread2 extends Thread {
public void run() {
for(int j=0; j<10; j ++) {
System.out.println("Thread two running: " +j);
}
}
}
class InterfaceTest {
public static void main(String[] args) {
thread1 t1 = new thread1();
thread2 t2= new thread2();
t1.start();
t2.start();
}
}
答案 0 :(得分:0)
当我们启动线程时,java在单独的线程中开始执行run方法。而且永远不会保证线程排序。在这里,您只是在启动2个不同的线程,而没有保证将按顺序执行它们。