java 多线程8(join)

join():  加入。一个线程如果执行了join语句,那么就有新的线程加入,执行该语ij

句的线程必须要让步给新加入的线程先完成任务,然后才能继续执行。

import java.util.Scanner;

import static sun.misc.Version.print;

public class EX10 {
    public static void main(String[] args) {

        Mom m = new Mom();
        m.run();//不用调run 吗?他们两个为什么
       // m.start();

    }
}

class Mom extends Thread{
    @Override
    public void run() {
        System.out.println("老妈洗菜");
        System.out.println("老妈正在切菜");
        System.out.println("老妈准备炒菜,但是发现没有酱油了");
        //老妈叫儿子打酱油
        Son s = new Son();
        s.start();
        try {
            s.join();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("老妈继续炒菜");
        System.out.println("吃饭了哈哈哈哈哈哈哈哈!!!!!");
        System.out.println();
    }
}

class Son extends Thread{
    @Override
    public void run() {
        System.out.println("儿子下楼了");
        System.out.println("打到了酱油");
        System.out.println("儿子把酱油交给了老妈");
    }
}
老妈洗菜
老妈正在切菜
老妈准备炒菜,但是发现没有酱油了
儿子下楼了
打到了酱油
儿子把酱油交给了老妈
老妈继续炒菜
吃饭了哈哈哈哈哈哈哈哈!!!!!


Process finished with exit code 0
原文地址:https://www.cnblogs.com/lifehrx/p/5786062.html