当我运行下面的代码。总是首先打印线程0,然后线程1和线程2并行运行。Java t.join()阻塞方法调用
我想了解thread.join调用是否阻止调用? 也想知道在这种情况下主线程会发生什么。
没有在文档中的任何地方,连接被称为阻塞呼叫。
class TestMultithreadJoin{
public static void main(String[] args) throws InterruptedException{
Thread t1 = new Thread(new Runnable(){
public void run(){
for(int i = 0; i<=100;i++){
System.out.println(" Name :"+Thread.currentThread().getName());
}
}
});
Thread t2 = new Thread(new Runnable(){
public void run(){
for(int i = 0; i<=100;i++){
System.out.println(" Name :"+Thread.currentThread().getName());
}
}
});
t1.start();
t1.join();
t2.start();
Thread t3 = new Thread(new Runnable(){
public void run(){
for(int i = 0; i<=100;i++){
System.out.println(" Name :"+Thread.currentThread().getName());
}
}
});
t3.start();
}
}
谢谢。
您可以在文档中的答案[主题#join()方法(https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html #join--) – matoni
您是否考虑过查阅文档? – EJP
你认为“等待这个线程死亡”是什么意思? – shmosel