java多线程之join

来源:互联网 发布:不用网络看电视的软件 编辑:程序博客网 时间:2024/05/21 06:51

废话不多说直接上代码


当不使用join方法的时候main线程与t1线程是同时运行的谁抢到课cpu的资源谁就先执行


结果可以看出来在main线程执行的时候自上而下执行先是执行System.out.println("测试先后顺序");

然后开始t1.start()和main线程剩余的部分/*这俩执行是同步的谁抢到cpu资源谁就执行*/


这时我们引入join方法



结论:

/**
*t1.start();之后原本的main线程和t1线程几乎是同步的(运行不分先后)
*在使用了t1.join();之后(join在英文中有连接的意思)
*就会安装t1线程执行完毕之后再执行main线程
*(相当于把t1线程和main线程合并到了一起)
*先是main线程执行-->到了t1.start()之后原本两个线程是并列运行的
*但是加入了t1.join()之后他们归并为一个线程 所有在t1.start()的时候开始执行
*t1线程当t1线程执行结束了之后再启动剩余的main线程的内容
*/

本文为作者原创 转载请注明出处

0 0