import java.text.NumberFormat;
import java.util.ArrayList;
import java.util.List;
import javax.swing.text.DefaultEditorKit.InsertBreakAction;
public class Ticket implements Runnable {
private int poll ;
private int num = 900;
private List<String> list = new ArrayList<>();
private static NumberFormat nf = NumberFormat.getInstance();
static{
nf.setMinimumIntegerDigits(4);
nf.setGroupingUsed(false);
}
public Ticket(){}
public Ticket(int poll){
this.poll = poll;
}
public void run() {
while(true){
synchronized (this) {
if (num >= poll) {
System.out.println("票已售完");
return;
}
String tName = Thread.currentThread().getName();
num++;
System.out.println(tName + "\t出售\t" +nf.format(num));
}
try {
Thread.sleep(100);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public static void main(String[] args) {
Runnable target = new Ticket(1000);
String windows = "ABCDE";
for(int i = 0; i<windows.length();i++){
Thread te = new Thread(target, "柜台"+windows.charAt(i));
te.start();
}
}
}