联合线程(案例顾客买蛋糕 :使用join()方法)

运行效果图:

 
 
代码:
package com.niit.syntronized;

/**
 * @author: Annie
 * @date:2016年6月15日
 * @description:线程联合(顾客到蛋糕店买蛋糕)使用join()方法
 */
public class ThreadJoin implements Runnable{

    Thread joinThread;
    Cake cake;
    public void setThread(Thread t){
        joinThread =t;
    }
    @Override
    public void run() {
        if(Thread.currentThread().getName().equals("顾客")){
            System.out.println(Thread.currentThread().getName()+"正在等待"+joinThread.getName()+"制作生日蛋糕");
            try {
                joinThread.start();
                joinThread.join();
            } catch (InterruptedException e) {}
            
            System.out.println(Thread.currentThread().getName()+"买了生日蛋糕:价钱" + cake.price);
            
        }else if (Thread.currentThread()==joinThread){
            System.out.println(Thread.currentThread().getName()+"开始制作蛋糕,请耐心等待.........");
            try {
                Thread.sleep(2000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            cake = new Cake("生日蛋糕",158);
            System.out.println(joinThread.getName()+"制作完毕");
        }
        
    }
    
    class Cake {
        int price;
        String name;
        
        public Cake(String name,int price) {
            this.price = price;
            this.name = name;
        }
        
    }
    
    public static void main(String[] args) {
        ThreadJoin threadJoin = new ThreadJoin();
        Thread customer = new Thread(threadJoin);
        customer.setName("顾客");
        Thread cakeMake = new Thread(threadJoin);
        cakeMake.setName("蛋糕");
        threadJoin.setThread(cakeMake);
        customer.start();
    }
}

 

转载于:https://www.cnblogs.com/wangmingxia/p/5587704.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值