A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 小石姐姐 于 2019-4-12 09:41 编辑

*   有一个包包的数量为100个。分别从实体店和官网进行售卖!
            要求使用多线程的方式,分别打印实体店和官网卖出包包的信息!
            分别统计官网和实体店各卖出了多少个包包,例如:
            官网共卖出了45
            实体店共卖出了55*/
public class Package implements Runnable {
    int bao = 100;
    int guanw = 0;
    int shitidian = 0;

    @Override
    public void run() {
        while (true) {
            synchronized (this) {
                if (bao <= 0) {
                    break;
                }
                try {
                    Thread.sleep(50);

                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                String name = Thread.currentThread().getName();
                if ("官网".equals(name)) {
                    System.out.println(name + "卖了第" + (100 - bao + 1) + "个包,还剩下" + (--bao) + "");
                    guanw++;

                    try {
                        this.notify();
                        this.wait();
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
                if ("实体店".equals(name)) {
                    System.out.println(name + "卖了第" + (100 - bao + 1) + "个包,还剩下" + (--bao) + "");
                    shitidian++;
                }
                try {
                    this.notify();
                    this.wait();
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                if (bao == 0) {
                    System.out.println("官网卖了" + guanw + "");
                    System.out.println("实体店卖了" + shitidian + "");
                    bao--;
                    this.notifyAll();
                }

            }
        }
    }
}

最近学习的多线程 利用各种方式来进行输出,我们继承Runnable 的接口 重写run方法 其实主要学习 的就是重写run方法了   希望这帖子可以有用.
对了 还要新建类来调用它public class Test01 {
    public static void main(String[] args) {
        Package p = new Package();  
        new Thread(p,"实体店").start();
        new Thread(p,"官网").start();
    }
}


评分

参与人数 1黑马币 +4 收起 理由
小石姐姐 + 4 很给力!

查看全部评分

1 个回复

倒序浏览
加油哦
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马