多线程并行转为串行线程运行

简单事例:妈妈在做饭,突然没盐了,让儿子去买盐

线程1:妈妈

线程2:儿子

妈妈在做饭,突然没盐了,妈妈线程通知儿子买盐,启动儿子线程,儿子买完盐回来,妈妈线程继续运行做饭

package demo5;

妈妈类继承Thread类 实现多线程
public class Mom extends Thread {


public void run(){

try {
System.out.println("妈妈买菜没盐了,让儿子买盐");
Son s=new Son();
s.start();//启动儿子线程
s.join();//调用join方法 儿子线程运行完之后,再执行下面语句
System.out.println("妈妈继续做饭");
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

}


//儿子类

package demo5;


public class Son extends Thread {


public void  run(){
try {
System.out.println("儿子去买盐");
Thread.sleep(2000);//儿子线程睡2s
System.out.println("盐买好了");
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

}


package demo5;

//测试类
public class Test {


public static void main(String[] args) {

Mom t1=new Mom();
Son t2=new Son();
t1.start();

}
}



猜你喜欢

转载自blog.csdn.net/yuanboqi/article/details/80186302