模拟火车站售票的情形,有些显示问题。对多线程感兴趣的同志进来看看。

chenlinhaime1 chenlinhaime1 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
最近学了JAVA的多线程,想编一个模拟火车站售票的JAVA程序,但是总是在实时显示每个售票窗口的队列时有很大的错误(就是人多,需要排队的时候,每个顾客的ID总是显示相同),不知如何解决?望高手指教。

思路:火车站有许多售票窗口,有些开放,有些不开放。顾客进入火车站售票厅后,到某个售票先排队,排到了就办理业务,然后离去。
为了好控制,用按钮来增加顾客,由人自己来做添加。

代码如下:

/*模拟火车站售票的情形
分五个类:
SimulateRailwayStation:是具体运行类;
RailwayStation:火车站类
Agent类:代表火车站售票窗口类;
Customer类:顾客类;
List类:存储类
*/

import java.util.Date;
import java.awt.*;
import java.awt.event.*;
public class SimulateRailwayStation extends Frame implements ActionListener
{
protected static final int NUM_AGANTS=10;//表示火车站有10个售票窗口
protected static final int NUM_INITIAL_AGANTS=6;//表示目前正在售票的窗口6个
protected static final int BUSINESS_DELAY=6000;//表示每个窗口办理售票业务的时间
protected static final int MAX_TRAIN_NUM=10;//表示有10辆火车的座位可以出售
protected static final int MAX_NO_CUSTOMERS=200;//表示每个窗口从一个顾客完成到下一个顾客开始的时间间隔
private Button addcus=new Button("添加顾客");//定义按钮,手动添加顾客。
private Button delcus=new Button("顾客离去");//定义按钮,模拟顾客自己离开
private Button addagent=new Button("增加售票窗口");//定义按钮,增加售票窗口
private Button delagent=new Button("关闭售票窗口");//定义按钮,关闭售票窗口
//10辆火车班次的信息
protected static String[] train_num={"南京->北京,46次","南京->上海,34次","南京->福州,231次","南京->杭州,65次","南京->武汉,112次","南京->成都,77次","南京->天津,21次","南京->徐州,134次","南京->乌鲁目齐,335次","南京->合肥,456次"};
//与上面的信息对应的每辆火车的票务信息
protected static int[] tickets={50,70,50,50,50,120,60,100,50,50};
private RailwayStation railwaystation=new RailwayStation();
private class WindowCloser extends WindowAdapter
{
public void windowClosing(WindowEvent we)
{
railwaystation.stop();
System.exit(0);
}
}

public SimulateRailwayStation()
{
super("Simulation RailwayStation");
Panel buttons=new Panel();
buttons.setLayout(new FlowLayout());
buttons.add(addcus);addcus.addActionListener(this);
buttons.add(delcus);delcus.addActionListener(this);
buttons.add(addagent);addagent.addActionListener(this);
buttons.add(delagent);delagent.addActionListener(this);
addWindowListener(new WindowCloser());
setLayout(new BorderLayout());
add("North",railwaystation);
add("South",buttons);
setSize(500,200);
validate();
pack();show();
railwaystation.start();
}

public void actionPerformed(ActionEvent ae)
{
if(ae.getSource()==addcus)
{
railwaystation.generateCustomer();
}
else if(ae.getSource()==delcus)
{
//暂时未实现
}
else if(ae.getSource()==addagent)
{
//暂时未实现
}
else if(ae.getSource()==delagent)
{
//暂时未实现
}
}
public static void main(String[] args)
{
SimulateRailwayStation smlt=new SimulateRailwayStation();
}
}
...全文

相关推荐

用多线程设计一个模拟火车站售票大厅的工作情形

项目:用多线程设计一个模拟火车站售票大厅的工作情形。问题描述:火车站有许多售票窗口,有些开放,有些不开放。顾客进入火车站售票厅后,到某个售票窗口排队等候,排到了就办理业务,然后离去。如图2.1所示。

掘金者说

AI大模型开发V2第四阶段 PyTorch框架使用配套代码

AI大模型开发V2第四阶段 PyTorch框架使用【配套代码】

FBI HackerHarry浩

PHP后端开发Laravel与ThinkPHP框架实战及Web安全防护VIP技术手册

本手册为一份完整的 PHP 后端开发与安全实战 Word 文档(.docx,可编辑,约 6500 字正文 + 13 幅原创配图),内容涵盖:PHP 8.x 环境搭建与 Composer 工程化、Laravel 10 博客系统完整开发(建模、认证、CRUD、测试)、ThinkPHP 6 RESTful API 开发(验证器、Token 认证、限流、统一响应)、Symfony 6.4 微服务架构与 Docker 部署、SQL 注入/XSS/CSRF/文件上传五大漏洞原理与修复、HTTPS 与 AES-256-GCM 加密存储、OPcache/Redis/负载均衡性能调优,以及上线前安全检查清单与命令速查附录。 适用人群:PHP 初学者、全栈开发者、准备面试或项目实战的后端工程师、需要进行安全加固的运维与开发人员。 使用场景及目标:从零搭建可运行的博客/API 项目,掌握主流框架开发流程,建立完整的 Web 安全防护与性能优化知识体系,可直接作为团队培训教材或上线评审 checklist 使用。

云博士的AI课堂

超扭滑模与快速终端滑模的永磁同步电机无感控制:理论、离散化实现与仿真研究(Simulink仿真实现)

内容概要:本文系统研究了超扭滑模控制(STSMC)与快速终端滑模控制(FTSMC)在永磁同步电机(PMSM)无感控制中的应用,深入探讨了两种先进非线性控制策略的理论基础、离散化实现方法及Simulink仿真实验。文章重点分析了基于高频信号注入法的PMSM零低速无位置传感控制技术,有效解决了传统物理传感器难以安装或成本高昂场合下的转子位置与速度估算难题。通过构建高阶滑模控制器与磁链无感观测器,实现了对电机状态的精确估计与鲁棒控制,显著提升了系统在动态响应、抗外部干扰和稳态精度方面的综合性能。研究涵盖控制算法设计、离散化处理、抖振抑制策略以及仿真验证全过程,为高性能、高可靠性电机驱动系统的设计提供了完整的理论支撑与实践范例。; 适合人群:具备自动控制理论、现代电机控制技术基础,熟悉MATLAB/Simulink仿真环境,并从事电气传动、新能源汽车、工业自动化、航空航天等领域的高校研究生、科研人员及工程技术人员。; 使用场景及目标:①研究和设计无需位置传感器的永磁同步电机控制系统,降低系统成本与维护难度;②深入掌握超扭滑模与快速终端滑模控制算法的核心原理、稳定性分析方法及其在数字控制器中的离散化实现技术;③利用Simulink搭建完整的电机控制仿真平台,验证先进滑模控制策略在不同工况下的有效性、鲁棒性与动态性能;④为高精度伺服系统、电动汽车电驱系统、轨道交通牵引系统等对可靠性和性能要求严苛的应用场景提供先进的无感控制解决方案。; 阅读建议:建议读者结合文中提供的Simulink仿真模型与相关参考文献,深入理解滑模控制的设计思想、切换函数构造原则与控制器参数整定方法,重点关注滑模观测器的设计流程与抖振抑制技术(如引入边界层或高阶滑模),同时可通过仿真对比不同控制策略的性能差异,并进一步拓展至其他先进非线性控制策略(如自适应滑模、模糊滑模)的研究与对比实验。

荔枝科研社

商业计划书-互联网-清新雅致.docx

商业计划书-互联网-清新雅致

tianyaalex
评论 7
收藏 已收藏
分享
返回顶部
chenlinhaime1
其他 259 成员 6,539 内容