Java中使用多线程模拟多站点售票过程 - 编程入门网
Destation d = Destation.values()[new Random().nextInt(Destation
.values().length)];
print(this + "i want a ticket for " + d);
// simulate the officer''s checking:
try {
TimeUnit.SECONDS.sleep(1);
} catch (InterruptedException e) {
e.printStackTrace();
}
// simulate the transaction:
Ticket wanted = tickets.get(d);
synchronized (wanted) {
if (!wanted.soldout()) {
print(this + "sold a ticket for " + d);
wanted.degress();
addRecords(d);
++ticketsSold;
print(this + "" + d + " tickets still have "
+ wanted.getCurrent());
} else
print(this + "tickets for " + d + " have been sold out.");
}
}
print(this + "closed");
print(this + "totally sold tickets:" + ticketsSold + ",sell records:"
+ records);
}
public synchronized int getValue() {
return ticketsSold;
}
public String toString() {
return "<Officce-" + id + ">";
}
static void print(String s) {
System.out.println(s);
}
}
Java中使用多线程模拟多站点售票过程(3)时间:2011-03-23 zhangjunhd模拟售票过程如下,启动5个售票厅。 Sell.java
结果:
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |