业务描述 假设有200张票,用4个线程去订票,不能有两个或者以上的线程订到了 同一个票(原因就不说了),当最后一张票卖掉的时候结束,再订就抛 异常提示出票卖完了。 业务分析,要实现以上功能, 1、需要创建一个车票类,初始化票,卖票的接口saleTicket() 2、自定义异常的一个类。 3、创建卖票线程类,在run方法中卖车票。 4、初始化车票的线程,负责初始化车票,也就是初始化Ticket类中的数组。 5、创建主方法进行测试。
首先先把异常类定义出来
package Homework;
public class TicketOutOfNumberException extends Exception{
public TicketOutOfNumberException() {
}
public TicketOutOfNumberException(String s){
super(s);
}
}
其次定义SaleTicket接口,接口中有一个方法saleTicket()
package Homework;
public interface SaleTicket {
void saleTicket(Ticket[] tickets) throws TicketOutOfNumberException;
}
然后按创建车票类Ticket
package Homework;
/*
创建一个车票类,该类实现SaleTicket接口
*/
public class Ticket implements SaleTicket {
private int no;//车票编号
private boolean status;//车票的状态,true表示车票还未出售ÿ