首页 > 代码库 > Thread:多线程 实现简单购票

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:多线程 实现简单购票