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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© dd6434541 中级黑马   /  2016-5-9 00:28  /  759 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public class Test17 {
        /*
         * 2.有100个限量版的水杯,但是只能通过实体店和
         *
         * 官网才能进行购买,并且分别统计卖了多少。请
         *
         * 用线程进行模拟并设置线程名称用来代表售出途
         *
         * 径,再将信息打印出来。 比如(实体店卖出第1个,总共剩余n
         *
         * 个..)
         */

        public static void main(String[] args) {
                glass g = new glass();
                new Thread(g, "实体店").start();
                new Thread(g, "官网").start();

        }
}

class glass implements Runnable {
        // 定义卖出的数量跟剩余的数量
        private int glass = 1;
        private int number = 100;
        //定义实体店跟官网卖出去的数量统计
        private int count1 = 0;
        private int count2 = 0;
        //重写run方法
        public void run() {
                //将调用的名字放入到变量中
                String name = Thread.currentThread().getName();
                while (true) {
                        synchronized (this) {
                                //当杯子卖出的数量大于100个跳出循环
                                if (glass > 100)
                                        break;
                                //判断是否是当中的一个线程。并将其输出
                                if ("实体店".equals(name)) {
                                        //输出杯子卖出去++ 总个数--,并且店铺统计++
                                        System.out.println(name + "卖出第" + glass++ + "个,总共剩余"
                                                        + --number + "个");
                                        count1++;

                                } else {
                                        System.out.println(name + "卖出第" + glass++ + "个,总共剩余"
                                                        + --number + "个");
                                        count2++;
                                }

                        }

                }
                //将店铺卖出的统计输出
                if ("实体店".equals(name)) {
                        System.out.println(name + "卖了" + count1 + "个");
                } else {
                        System.out.println(name + "卖了" + count2 + "个");
                }

        }

}

6 个回复

倒序浏览
谢谢分享...
回复 使用道具 举报
好厉害的说。
回复 使用道具 举报
我怎么看不懂的????????????????????、、、水平太烂了
回复 使用道具 举报
安分的心灵 来自手机 中级黑马 2016-5-9 13:12:27
报纸
标记一下,晚点看看
回复 使用道具 举报
xiaogui 来自手机 中级黑马 2016-5-9 13:15:54
地板
留名,先顶一下,再慢慢看。
回复 使用道具 举报
类似于火车站买票的例子 要注意的就是得加个同步代码块
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马