package cn.hp.demo02;
import java.util.List;
/*
* 售票员线程
*
* 目的:多个售票员同时售票*/
public class Ticketer extends Thread {
private List tickets;//票库(多个售票员同一个票库)
public List getTickets() {
return tickets;
}
@Override
public String toString() {
return "Ticketer{" +
"tickets=" + tickets +
'}';
}
public void setTickets(List tickets) {
this.tickets = tickets;
}
public void sellingTickets() {
//卖票方法(从集合中删除一张票)
Ticket ticket = tickets.remove(0);
System.out.println(this.getName() + "卖了一张:" + ticket);
}
public void run(){
//实现多线程卖票:卖完为止
while (true){
synchronized (this.tickets) {
if (this.tickets.size() > 0) {
sellingTickets();
} else {
System.out.println(this.getName() + "已售空");
break;
}
}
}
}
}