java多线程之join

废话不多说直接上代码


当不使用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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值