zoukankan      html  css  js  c++  java
  • package com.day20;
    
    public class Test {
        public static void main(String[] args) {
            Demo01 site = new Demo01();
            Thread person1= new Thread(site,"桃跑跑");
            Thread person2= new Thread(site,"抢票代理");
            Thread person3= new Thread(site,"黄牛党");
            person1.start();
            person2.start();
            person3.start();
        }
    }
    package com.day20;
    
    public class Demo01 implements Runnable {
        private int count = 10; // 记录剩余票数
        private int num = 0; // 记录买到第几张票
        private boolean flag = false;  //记录是否售完
    
        public void run() {
            while (true) {
                if(!sale()){
                    break;
                }
            }
        }
        // 同步方法:卖票
        public synchronized boolean sale() {
            if (count <= 0) {
                return false;
            }
            // 第一步:修改数据
            num++;
            count--;
            try {
                Thread.sleep(500); // 模拟网络延时
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            // 第二步:显示信息
            System.out.println(Thread.currentThread().getName() + "抢到第" + num
                    + "张票,剩余" + count + "张票!");
            if(Thread.currentThread().getName().equals("黄牛党")){
                return false;
            }
            return true;
    
        }
    }

  • 相关阅读:
    【狼】狼的unity3d脚本学习
    [转]关于Unity中文件读取
    【狼】unity3d 安卓播放视频替代视频纹理
    SpringMVC异常处理
    springboot 热启动
    旅游网dao层
    MyBatisPlus快速入门
    旅游网dao层
    MySQL8 修改密码验证插件
    Zookeeper环境搭建
  • 原文地址:https://www.cnblogs.com/zhangbupang/p/11306000.html
Copyright © 2011-2022 走看看