zoukankan      html  css  js  c++  java
  • 多线程售票

    package threadT;
    
    public class ThreadMain {
        public static void main(String args[]) {
            SellTicket str = new SellTicket(10);
            Thread tr1 = new Thread(str, "窗口1");
            Thread tr2 = new Thread(str, "窗口2");
            Thread tr3 = new Thread(str, "窗口3");
            tr1.start();
            tr2.start();
            tr3.start();
        }
    }
    package threadT;
    
    import java.util.concurrent.locks.Lock;
    import java.util.concurrent.locks.ReentrantLock;
    
    public class SellTicket implements Runnable {
    
        // 定义票的数量
        private int tickets = 0;
    
        public SellTicket(int count) {
            tickets = count;
        }
    
        // 定义锁对象
        private final Lock lock = new ReentrantLock();
    
        public void run() {
            // 卖完标记
            boolean over = false;
            while (true) {
                try {
                    if (tickets == 0) {
                        System.out.println(Thread.currentThread().getName() + "检测到已售完");
                        over = true;
                        break;
                    }
                    // 加锁
                    lock.lock();
                    if (tickets > 0) {
                        try {
                            Thread.sleep(100);
                        } catch (InterruptedException e) {
                            e.printStackTrace();
                        }
                        System.out.println(Thread.currentThread().getName() + "正在出售第" + (tickets--) + "张票");
                    }
                } finally {
                    if (!over)
                        // 释放锁
                        lock.unlock();
                }
            }
        }
    
    }

    有追求,才有动力!

    向每一个软件工程师致敬!

    by wujf

    mail:921252375@qq.com

  • 相关阅读:
    C盘的可用空间忽大忽小
    安装软件时不能指定软件的安装目录
    MySQL安装排坑
    Butterfly主题目录生成不了问题
    apache+php安装配置的各种问题
    环境变量配置不成功
    http模块
    Node.js
    Spring Boot入门
    代码优化笔记
  • 原文地址:https://www.cnblogs.com/wujf/p/9090124.html
Copyright © 2011-2022 走看看