概述
功能实现:多线程模拟售票系统
定义一个车票类,车票类拥有票号属性、 车票状态(未售、售出)属性和拥有者(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 多线程抢票_多线程抢票详解所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复