功能实现:多线程模拟售票系统
定义一个车票类,车票类拥有票号属性、 车票状态(未售、售出)属性和拥有者(String类型)属性;在主线程中定义一个票库(ArrayList数组列表)初始化票库并生产200张票;
定义一个乘客类继承自线程类,有一个名字(String类型)属性, 乘客类每隔10毫秒就去票库中查看有没票,如果有票就抢一张过来 (把车票标为售出状态,并把车票的拥有者标为自己的名字), 每个乘客抢到20张票就停止运行。
在主线程中创建10个乘客类并启动它们(开始抢票), 要求每个乘客抢到的票不连号,不能多抢或少抢。抢完后打印出每个人抢到的票号。
代码实现部分:
import java.util.ArrayList;
public class Main {
static ArrayList mTicketList = new ArrayList();//票库
public static void main(String[] args) {
for(int i=0;i<200;i++){
Ticket t = new Ticket();
t.ticketNum = i + 100;
mTicketList.add(t);
}
Passenger[] passengers = new Passenger[10];
for(int i=0;i<10;i++){
passengers[i] = new Passenger("passenger_"+i/*,mT
最后
以上就是标致芝麻最近收集整理的关于java 多线程抢票_多线程抢票详解的全部内容,更多相关java内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复