今天在学多线程的时候,遇到一个问题,我写了一个A类,一个B类,都实现了Runnable接口,然后在C中执行,当i=20的时候,A的多线程使用了join方法,按道理来说,join是让别的线程都暂停,然后知执行自己到结束,但是为什么会输出a...和b....交错,最后才打印c....求助
public class C {
public static void main(String[] args) throws InterruptedException {
A a = new A();
B b = new B();
Thread t1 = new Thread(a);
Thread t2 = new Thread(b);
t1.start();
t2.start();
for(int i=0;i<100;i++){
if(i==20){
t1.join();
}
System.out.println("c"+i);
}
}
}
class A implements Runnable{
@Override
public void run(){
for(int i=0;i<100;i++){
System.out.println("a"+i);
}
}
}
class B implements Runnable{
@Override
public void run(){
for(int i=0;i<100;i++){
System.out.println("c"+i);
}
}
}