Thread:多线程 实现简单购票

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Thread:多线程 实现简单购票相关的知识,希望对你有一定的参考价值。

package com.heima.it;

public class duoXiCheng extends Thread{
//继承Thread类
//定义一个票数的变量 static 静态的 公用的 票数
  static int tickets = 100;

//
    public duoXiCheng() {
      super();
    // TODO 自动生成的构造函数存根
        }


    public duoXiCheng(String name) {
      super(name);
    // TODO 自动生成的构造函数存根
    //构造一个有参数的方法传递一个名字进来
      }


    @Override
    public void run() {
    // TODO 自动生成的方法存根
      //重写run()方法
      while(true){
    //synchronized 加锁 格式: 字节码文件
    synchronized (duoXiCheng.class) {
    //3.创建 Thread 类的子类的对象,
      if(tickets<1){
      //票数少于1张退出循环
        break;
       }
    try {
    //暂停100毫秒
    Thread.sleep(100);
    } catch (InterruptedException e) {
    // TODO 自动生成的 catch 块
    e.printStackTrace();
    }
    //多线程输出语句
    System.out.println(getName()+"正在出售第"+ (tickets--) +"票");
   }
}
//程序结束


}

}

}

}

/**************************************************************************************************************************/

    package com.heima.it;

    public class pingTai {

    public static void main(String[] args) {
      // TODO 自动生成的方法存根


      duoXiCheng dxc = new duoXiCheng("窗口1:");
      dxc.start();

      duoXiCheng dxc2 =new duoXiCheng("窗口2:");
      dxc2.start();

      duoXiCheng dxc3 =new duoXiCheng("窗口3:");
      dxc3.start();

      }

    }

以上是关于Thread:多线程 实现简单购票的主要内容,如果未能解决你的问题,请参考以下文章

JavaExp10:多线程设计,彩票购票问题

一个简单多线程购票Demo

继承Thread类实现多线程简单实例

多线程---网络购票

线程安全问题

线程安全问题