join理解

来源:互联网 发布:淘宝的子账号是什么 编辑:程序博客网 时间:2024/06/05 18:41
main线程中有语句   thread1.join()。附着在thread1上的任务里有t1.join()那么main线程就会等待thread1结束,thread1回等t1结束如:1.MainJoinTest .javapackage thinkinjava.thread;public class MainJoinTest {public static void main(String[] args){System.out.println(Thread.currentThread()+" start");Thread thread1 = new Thread(new JoinTestRunnable());try {thread1.start();thread1.join();} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}System.out.println(Thread.currentThread()+" end");}}2  JoinTestRunnable .javapackage thinkinjava.thread;public class JoinTestRunnable implements Runnable {@Overridepublic void run() {System.out.println(Thread.currentThread()+" start");Thread t1 = new Thread(new JoinTestRunnable2());t1.start();try {t1.join();} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}System.out.println(Thread.currentThread()+" end");}}3.JoinTestRunnable2 .javapackage thinkinjava.thread;public class JoinTestRunnable2 implements Runnable {@Overridepublic void run() {System.out.println(Thread.currentThread()+" start");System.out.println(Thread.currentThread()+" end");}} 运行main  输出结果Thread[main,5,main] startThread[Thread-0,5,main] startThread[Thread-1,5,main] startThread[Thread-1,5,main] endThread[Thread-0,5,main] endThread[main,5,main] end可以看出main,5等Thread-0,5结束,Thread-0,5等Thread-1,5结束
原创粉丝点击