视频里老师在02:47的代码显示主线程和mt两个线程是随机运行的

视频里老师在02:47的代码显示主线程和mt两个线程是随机运行的

但是课程2-1里程序不会显示是先执行主方法中的代码,然后在执行线程中的输出语句

http://img1.sycdn.imooc.com//climg/5c1378b3000120c809480370.jpg

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
好帮手慕阿莹 2018-12-16 10:34:57

案例2-1中,因为 System.out.println("主线程1");在 new Mythread之前,也就是在创建新的线程之前,所以它肯定是先执行的。 而开启线程mt之后,主线程中的System.out.println("主线程2")和 mt 这个线程就是随机的了。

而本节课的案例中是没有在创建新线程之前执行输出语句的,也就是mt和主线程是随机运行的了。

在新线程创建并开启之前,主线程中的代码是先执行的,新线程开启后,主线程中的代码和这个线程就算随机执行的了。

如果我的回答解决了你的问题,请采纳,祝学习愉快.

  • 请问老师,如果启动语句写在了System.out.println("主线程2")的后面,是不是System.out.println("主线程2")就比mt 这个线程优先执行?还是说它俩任然是随机执行的?
    2019-03-24 19:57:02
  • 同学你好,如果启动语句写在了System.out.println("主线程2")的后面,System.out.println("主线程2")就比mt 这个线程优先执行。因为在没有新线程开启前,程序中只有一个主线程,此时代码按顺序执行。如果我的回答解决了你的问题,请采纳,祝学习愉快。
    2019-03-25 09:50:35
提问者 徐昌昊 2018-12-14 20:25:05

http://img1.sycdn.imooc.com//climg/5c139fe20001970f19201080.jpg

2-1不是说会先执行主方法的方法吗?但是在3-7视频在2:22之前老师还没用到jion方法(如图),程序运行结果却有两种,不是应该只有主线程先执行这一种结果吗?

chrismorgen 2018-12-14 19:28:29

是的,主线程和mt两个线程是随机运行的,你引用的内容是2-1的回答,请问同学的疑问点是什么呢?这是两回事哦,在3-7的课程中,老师使用的是join方法,它会抢先于主线程进行执行,如果同学不是同学想要的答案,可以详细的描述一下你的问题,方便老师具有针对性的为你解答,祝学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师