/**
* join特点:当A线程执行到了B线程的join方法时,A就会等待。等B线程都执行完了,A才会执行
*
*
*/
public class JionDemo {
public static void main(String[] args) {
Demo d=new Demo();
Thread t1=new Thread(d);
Thread t2=new Thread(d);
t1.start();
t1.setPriority(Thread.MAX_PRIORITY);//设置优先级为最高
try {
t1.join();
/*
* 主线程在向下走的时候,t1 要CPU的执行权,CPU就给他了,直到t1结束后
* 才接着CPU其他的线程
* 可以用于临时加入线程,让这个线程运行完再运行其他的线程。
*/
} catch (InterruptedException e) {
e.printStackTrace();
}
t2.start();
for (int i = 0; i < 80; i++) {
System.out.println("main....."+i);
}
System.out.println("over ");
}
}
class Demo implements Runnable{
@Override
public void run() {
for (int i = 0; i <70; i++) {
System.out.println(Thread.currentThread().getName()+"...."+i);
}
}
}
本文通过一个具体的Java示例程序介绍了线程中Join方法的使用方式及其作用。当一个线程调用了另一个线程的Join方法时,该线程将会被阻塞,直至被Join的线程执行完毕。此特性常用于确保某个线程在其它线程之前完成执行。
8896

被折叠的 条评论
为什么被折叠?



