/*模拟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+"已买到票");}}}}}

改进排队买票多线程问题相关推荐

  1. 【swjtu】数据结构实验3_基于循环队列的排队买票模拟程序

    实验内容及要求: 编程建立循环队列存储结构,对排队买票过程进行模拟.要求程序在控制台屏幕上显示字符菜单: 1. 排队--输入新到达的买票人姓名,加入买票队列中: 2. 售票--排队队列中最前面的人购票 ...

  2. java排队买票_【排队买票】 (Java代码)

    解题思路: 注意事项: 参考代码:public class 排队买票 { public static int count = 0; public static void qpl(char[] char ...

  3. 算法笔记四 排队买票

    算法笔记四 排队买票 题干 思路 解法一 解法二(转载自https://blog.dotcpp.com/a/64305) 解法三 递归 代码实现 解法二 卡特兰数 解法三 递归 题干 描述 有M个小孩 ...

  4. java利用队列实现一个学生排队买票功能

    1.利用队列实现一个学生排队买票功能 1.定义一个学生类Student,包括学号No.姓名Name.性别Gender.年龄Age等信息 2.定义一个队列类Queue,用于将学生进行队列排序 3.可以从 ...

  5. c语言实现演唱会歌迷排队买票问题

    ** 一个演唱会即将举行,现有 N 个歌迷排队买票,一个人一张,而售票处规定,一个人每次最多买两张,假设买一张票的时间为 Ti ( 1<=i<=N ) , 队伍中相邻的歌迷(第 j 个人和 ...

  6. java排队买票_春运还需多少通宵排队买票猝死的悲剧

    平凡岁月,生老病死原本算不得什么,一个老人,死于火车站的通宵等待中,就是这样.不能活着回去,那就裹尸而还,死也算是另一种回家. 这位老伯,不知姓名,"看起来60岁左右,身上穿的衣服灰扑扑的& ...

  7. java 买票 多线程_java多线程买票问题

    自己写了一个多线程买票的实例,运行结果也对了,但是自己解释不了,谁能帮忙解释一下为什么结果会正确?import java.util.concurrent.ExecutorService; import ...

  8. 1054: 【排队买票】

    题目描述 有M个小孩到公园玩,门票是1元.其中N个小孩带的钱为1元,K个小孩带的钱为2元.售票员没有零钱,问这些小孩共有多少种排队方法,使得售票员总能找得开零钱.注意:两个拿一元零钱的小孩,他们的位置 ...

  9. 买票c语言程序,【排队买票】 (C语言代码)

    解题思路: 注意事项: 参考代码: #include using namespace std; long long int soluteMethon(int N,int K,int totalMone ...

最新文章

  1. autoware使用激光雷达进行目标检测(五)
  2. WSRP调用中的一些问题
  3. Qt 两个Ui 界面传值
  4. Win7下安装配置gVim
  5. Java进阶:Dubbo
  6. BZOJ4892:[TJOI2017]dna(hash)
  7. SVN的代码回滚,并不如预期的那样好
  8. ColorZilla|网页颜色颜色提取
  9. Google浏览器书签栏优化
  10. google 能翻译104个语言 youtube 仅仅不支持其中的15个语言 分别是这些
  11. oracle共有同义词,Oracle同义词概念
  12. 《Windows安全机制》之DEP(数据执行保护)
  13. Kaggle账号注册
  14. SQL Server安装中错误该性能计数器注册表配置单元已损坏。若要继续,必须修复该性能计数器注册表配置单元的解决
  15. web前端30个项目列表,学完即可上手做项目
  16. android 视频播放器 加载字幕,Android 实现视频字幕Subtitle和横竖屏切换示例
  17. 金格控件java版本_金格控件宝典(问题大全.docx
  18. uni-app上传图片并添加水印
  19. golang加载双向认证加密的证书key文件
  20. 深富策略:市场良性回踩 注意把握节奏

热门文章

  1. 直播预售+涨粉神器,创客匠人教你如何快速裂变涨粉
  2. 梯度爆炸gradient explode和梯度消失gradient vanish
  3. Java中2.5D游戏(斜45度角)的设计与实现(1)
  4. matlab非线性数值方程的求解
  5. 中国护照含金量再上升,Qbao Network 教你玩转全球54个国家!(二)
  6. SQL Server中事务日志已满的原因以及解决办法
  7. 联邦学习开源框架方案选型
  8. Python中%的作用
  9. Vue_单页应用VS多页应用
  10. JavaScript案例之使用验证码进行简单判断