为什么我的主线程永远快啊?

为什么我的主线程永远快啊?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
class MyThreadThree extends Thread{
    public void run() {
        for(int i=1;i<=100;i++) {
        System.out.println(getName()+"正在执行第"+i+"次!");
        }
    }
}
public class JoinDemo {
 
    public static void main(String[] args) {
        for(int i=1;i<=300;i++) {
            System.out.println("主线程2运行第"+i+"次!");
        }
        MyThreadThree mtt=new MyThreadThree();
        mtt.start();
        try {
            mtt.join();
        catch (InterruptedException e) {
         
            e.printStackTrace();
        }
        for(int i=1;i<=10;i++) {
            System.out.println("主线程运行第"+i+"次!");
        }
        System.out.println("主线程运行结束!");
 
    }
 
}

只要我的主线程输出写在前面,就永远是在前面执行,没有课程中的可能会交替执行情况啊????

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

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

1回答
提问者 慕容2892559 2020-04-21 21:56:15

我好像懂了,是不是因为主线程2开始的时候mtt线程并没有开始,所以不可能交替?

  • 同学你好,同学的理解是正确的。主方法中执行完300次for循环,程序才会往下执行,开启mtt线程。祝学习愉快~
    2020-04-22 10:11:44
  • 提问者 慕容2892559 回复 好帮手慕阿慧 #2
    好的,明白。
    2020-04-22 10:14:16
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

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