改进排队买票多线程问题
/*模拟3个人排除买票,每人买1张票。
- 售货员只有1张五元的钱,电影票5元一张,
- 王大拿拿一张二十元的人民币排在谢大脚前面买票,
- 谢大脚拿1张十元的人民币排在在赵四的前面买票,
- 赵四拿1张五元的人民币排在最后。
- 即最终的卖票次序是:谢大脚、赵四、王大拿
- 人:多个人同时去买票。优先级表示队列前后
- 售票口
public class ThreadText13 {public static void main(String[] args) {// TODO Auto-generated method stubShouPiao sp=new ShouPiao("窗口1");Person_1 p1=new Person_1("王大拿",20,sp);Thread t1=new Thread(p1);t1.setPriority(10);Person_1 p2=new Person_1("谢大脚",10,sp);Thread t2=new Thread(p2);t2.setPriority(5);Person_1 p3=new Person_1("赵四",5,sp);Thread t3=new Thread(p3);t3.setPriority(1);t1.start();t2.start();t3.start();}}
class ShouPiao{//买票口String name;static int money=5;//钱static int number=0;//卖的票数public ShouPiao(String name) {super();this.name = name;}}
class Person_1 implements Runnable{String name;//姓名int money;//带的钱boolean set=false;//是否买到票private ShouPiao sp;//售票口public Person_1(String name, int money, ShouPiao sp) {super();this.name = name;this.money = money;this.sp = sp;}@Overridepublic void run() {// TODO Auto-generated method stubThread.currentThread().setName(name);while(true) {synchronized(Object.class) {if(sp.number>3) {sp.money=5;return;}if((money-sp.money==5||money-sp.money==-5)&&set==false) {sp.number++;sp.money+=5;set=true;System.out.println(name+"已买到票");}}}}}
改进排队买票多线程问题相关推荐
- 【swjtu】数据结构实验3_基于循环队列的排队买票模拟程序
实验内容及要求: 编程建立循环队列存储结构,对排队买票过程进行模拟.要求程序在控制台屏幕上显示字符菜单: 1. 排队--输入新到达的买票人姓名,加入买票队列中: 2. 售票--排队队列中最前面的人购票 ...
- java排队买票_【排队买票】 (Java代码)
解题思路: 注意事项: 参考代码:public class 排队买票 { public static int count = 0; public static void qpl(char[] char ...
- 算法笔记四 排队买票
算法笔记四 排队买票 题干 思路 解法一 解法二(转载自https://blog.dotcpp.com/a/64305) 解法三 递归 代码实现 解法二 卡特兰数 解法三 递归 题干 描述 有M个小孩 ...
- java利用队列实现一个学生排队买票功能
1.利用队列实现一个学生排队买票功能 1.定义一个学生类Student,包括学号No.姓名Name.性别Gender.年龄Age等信息 2.定义一个队列类Queue,用于将学生进行队列排序 3.可以从 ...
- c语言实现演唱会歌迷排队买票问题
** 一个演唱会即将举行,现有 N 个歌迷排队买票,一个人一张,而售票处规定,一个人每次最多买两张,假设买一张票的时间为 Ti ( 1<=i<=N ) , 队伍中相邻的歌迷(第 j 个人和 ...
- java排队买票_春运还需多少通宵排队买票猝死的悲剧
平凡岁月,生老病死原本算不得什么,一个老人,死于火车站的通宵等待中,就是这样.不能活着回去,那就裹尸而还,死也算是另一种回家. 这位老伯,不知姓名,"看起来60岁左右,身上穿的衣服灰扑扑的& ...
- java 买票 多线程_java多线程买票问题
自己写了一个多线程买票的实例,运行结果也对了,但是自己解释不了,谁能帮忙解释一下为什么结果会正确?import java.util.concurrent.ExecutorService; import ...
- 1054: 【排队买票】
题目描述 有M个小孩到公园玩,门票是1元.其中N个小孩带的钱为1元,K个小孩带的钱为2元.售票员没有零钱,问这些小孩共有多少种排队方法,使得售票员总能找得开零钱.注意:两个拿一元零钱的小孩,他们的位置 ...
- 买票c语言程序,【排队买票】 (C语言代码)
解题思路: 注意事项: 参考代码: #include using namespace std; long long int soluteMethon(int N,int K,int totalMone ...
最新文章
- autoware使用激光雷达进行目标检测(五)
- WSRP调用中的一些问题
- Qt 两个Ui 界面传值
- Win7下安装配置gVim
- Java进阶:Dubbo
- BZOJ4892:[TJOI2017]dna(hash)
- SVN的代码回滚,并不如预期的那样好
- ColorZilla|网页颜色颜色提取
- Google浏览器书签栏优化
- google 能翻译104个语言 youtube 仅仅不支持其中的15个语言 分别是这些
- oracle共有同义词,Oracle同义词概念
- 《Windows安全机制》之DEP(数据执行保护)
- Kaggle账号注册
- SQL Server安装中错误该性能计数器注册表配置单元已损坏。若要继续,必须修复该性能计数器注册表配置单元的解决
- web前端30个项目列表,学完即可上手做项目
- android 视频播放器 加载字幕,Android 实现视频字幕Subtitle和横竖屏切换示例
- 金格控件java版本_金格控件宝典(问题大全.docx
- uni-app上传图片并添加水印
- golang加载双向认证加密的证书key文件
- 深富策略:市场良性回踩 注意把握节奏