package com.ma.thread001;
/**
* 多线程模拟售票,多个窗口售票
* @author ma
*
*/
public class SellTicktDemo implements Runnable {
/*
* 需求:多线程模拟售票,多个窗口售票
*
* 分析:
* A.需要的类
* 1.建立一个多线程的类SellTicktDemo
* 2.创建一个测试类SellTicktDemoTest
* B.类的关系
* 1.多线程的类SellTicktDemo,实现Runnable接口,重写run()方法
* 2.SellTicktDemoTest 测试多线程类
* C.实现多线程同步
* 1.用synchronized()方法实现线程同步
* D.在SellTicktDemoTest中实现多数窗口
*
*/
//定义票的总数
private int total = 100;
//定义票的编号
private int no = total+1;
//定义一个线程同步对象
private Object obj = new Object();
@Override
public void run() {
while(true){
//同步锁
synchronized(this.obj){
if(this.tot