package cn.hp.demo02; import java.util.List; /* * 售票员线程 * * 目的:多个售票员同时售票*/ public class Ticketer extends Thread { private List<Ticket> tickets;//票库(多个售票员同一个票库) public List<Ticket> getTickets() { return tickets; } @Override public String toString() { return "Ticketer{" + "tickets=" + tickets + '}'; } public void setTickets(List<Ticket> 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; } } } } }