解决方案 »
- 关于ArrayList的问题
- JLabel如何在JPanel上自定义坐标点?
- 最近网站做了改版,大家来提提意见主要是论坛界面,来者有分:)
- JAVA初学者的苦恼,运行java Person_Sort 怎么总是出错啊!请高手指点迷津啊!将不胜感激 呵呵
- 关于连接数据库的问题
- mina 传输大文件(200M以上)
- 求助:在JBuild里面写了一个包,生成JAR包文件,在TextPad里如何使用它?
- 一个小问题~~``大家帮忙解答~~~~~~谢谢~~!!不用耽搁太多时间~!
- JTable中能不能合并单元格?
- 如何用Java做代理,在线等待!!
- [求助] socket通信.客户端怎样主动断开连接.
- 关于8皇后排版问题
import java.util.List;public class ThreadDemo {
public static void main(String[] args) {
Thread t1 = new Thread(new SealWindow(),"1号售票窗口");
Thread t2 = new Thread(new SealWindow(),"2号售票窗口");
Thread t3 = new Thread(new SealWindow(),"3号售票窗口");
Thread t4 = new Thread(new SealWindow(),"4号售票窗口");
Thread t5 = new Thread(new SealWindow(),"5号售票窗口");
t1.start();
t2.start();
t3.start();
t4.start();
t5.start();
}
}
class Ticket {
private int id;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
class SealWindow implements Runnable {
@Override
public void run() {
sellTicket();
}
public void sellTicket() {
TicketSealCenter tsc = TicketSealCenter.getInstance();
Ticket ticket = tsc.getTicket();
while (ticket != null) {
System.out.println(Thread.currentThread().getName() + "...."
+ "卖了一张票,id为" + "..." + ticket.getId());
ticket = tsc.getTicket();
}
}
}
// 只有一个售票中心,所以把它设置成单例
class TicketSealCenter {
private static List<Ticket> tickets = new ArrayList<Ticket>();
private int ticketNum = 100;
private TicketSealCenter() {
// 给每张票设置一个唯一的ID号
setIdToTicket(tickets);
}
public Ticket getTicket() {
synchronized (tickets) {
try {
return tickets.remove(0);
}
catch (IndexOutOfBoundsException ex) {
return null;
}
}
} private static TicketSealCenter tsc = new TicketSealCenter();
// 提供一个公有方法,获取售票中心对象
public static TicketSealCenter getInstance() {
return tsc;
}
private void setIdToTicket(List<Ticket> tickets2) {
for (int i = 1; i <= ticketNum; i++) {
Ticket ticket = new Ticket();
ticket.setId(i);
tickets.add(ticket);
}
}
http://57share.net/portal.php?mod=view&aid=8
3号售票窗口....卖了一张票,id为...3
1号售票窗口....卖了一张票,id为...1
2号售票窗口....卖了一张票,id为...5
5号售票窗口....卖了一张票,id为...2
4号售票窗口....卖了一张票,id为...4
1号售票窗口....卖了一张票,id为...6
5号售票窗口....卖了一张票,id为...9
2号售票窗口....卖了一张票,id为...8