某公司组织年会,会议入场时有两个入口,在入场时每位员工都能获取一张双色球彩票,假设公司有100个员工,利用多线程模拟年会入场过程,

题目要求:

并分别统计每个入口入场的人数,以及每个员工拿到的彩票的号码。线程运行后打印格式如下:

 编号为: 2 的员工 从后门 入场! 拿到的双色球彩票号码是: [17, 24, 29, 30, 31, 32, 07]
 编号为: 1 的员工 从前门 入场! 拿到的双色球彩票号码是: [06, 11, 14, 22, 29, 32, 15]
   //.....
 从后门入场的员工总共: 13 位员工
 从前门入场的员工总共: 87 位员工

线程段代码

 private int i=1;
    private int cnt=0;
    private int cnt2=0;
    Object obj=new Object();

    @Override
    public void run() {

            while (i<100) {
                synchronized (obj) {

                    ArrayList list1 = new ArrayList();
                    Random r = new Random();
                    for (int j = 0; j < 7; j++) {
                        int a = r.nextInt(50);
                        list1.add(a);
                    }
                    System.out.println("编号为:" + i + "的员工" + " " + Thread.currentThread().getName() + "拿到的双色球号" +
                            "
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值