花了一天的时间才搞懂的操作,以前觉得自己懂了,但是实践起来却又是另外一回事。总之受益良多。

不能在对象里sleep,对象里写while就是一次性的。
原子锁是线程的东西,也不要放在对象方法中
run方法就是写逻辑的
单一原则

public class Train {private static int count;  //总票数public Train() {}public Train(int count) {this.count = count;}public int getCount() {return count;}public void setCount(int count) {this.count = count;}//销售方法public boolean sale() {if (count>0) {System.out.println(Thread.currentThread().getName()+"正在出售一张票,还剩"+count--+"张");return true;}else {return false;}}}
public class Test {public static void main(String[] args) {Train train = new Train(10);Thread1 t1 = new Thread1(train);Thread1 t2 = new Thread1(train);t1.setName("t1");t2.setName("t2");t1.start();t2.start();}}class Thread1 extends Thread {private Train train;public Thread1(Train train) {this.train = train;}@Overridepublic void run() {while (train.sale()) {synchronized (train) {try {Thread.sleep(500);} catch (InterruptedException e) {e.printStackTrace();}}}}}

多线程模拟火车站售票并发相关推荐

  1. 多线程模拟火车站售票

    生活中其实有很多多线程的例子,比如火车站售票就是一个例子.我们先来分析一下, (1)首先要有火车票的总数量,并且每卖出一张火车票,总量就减一 (2)当火车票的数量小于1的时候,就停止售票 (3)使用多 ...

  2. java 模拟火车站售票系统_模拟售票系统java编程

    模拟售票系统java编程 /* 项目:用多线程设计一个模拟火车站售票大厅的工作情形. 问题描述:火车站有许多售票窗口,有些开放,有些不开放.顾客进入火车站售票厅后,到某个售票窗口排队等候,排到了就办理 ...

  3. Java——使用多线程模拟真实高并发业务并保证安全性(一)

    作者专注于Java.架构.Linux.小程序.爬虫.自动化等技术. 工作期间含泪整理出一些资料,微信搜索[javaUp],回复 [java][黑客][爬虫][小程序][面试]等关键字免费获取资料.技术 ...

  4. 模拟火车站售票窗口,开启三个窗口售票,总票数为100张

    方法一:继承Thread class Window extends Thread{static int ticket = 100;public void run(){while (true) {if ...

  5. java 多线程 售票_Java 多线程 之 火车站售票实例

    package com.thread;/** 题目: 人们在火车站的售票窗口排队买火车票 1. 北京西站开门 2. 打开售票窗口 3. 北京西站有10张去长沙的票 4. 打开2个售票窗口, 5 假设每 ...

  6. Java 多线程 之 火车站售票实例

    http://www.verejava.com/?id=16992917973569 package com.thread; /*题目: 人们在火车站的售票窗口排队买火车票1. 北京西站开门2. 打开 ...

  7. Java多线程实现火车站售票案例

    铁道部发布了一个售票任务,要求销售1000张票,要求有5个窗口来进行销售,请编写多线程程序来模拟这个效果 i. 窗口001正在销售第1000张票 ii. 窗口001正在销售第999张票 iii. 窗口 ...

  8. 售票pv操作java实现_Java多线程实现火车站售票案例

    需求: 火车站有5个窗口,有1000张火车票,同时开始售票,请用Java多线程实现 分析: 这是学习Java多线程的时候必定会遇到的一个案例 窗口一共有五个,共同操作1000张票,多以票需要定义成静态 ...

  9. 运用java 多线程模拟火车售票。。。。

    public class Demo01 { public static void main(String[] args) { // TODO Auto-generated method stub // ...

最新文章

  1. MERGE批量增删查改数据
  2. 同一目录下有大量文件会影响效率吗_到底是什么原因才导致 select * 效率低下的?
  3. cmd命令窗口mysql查询表数据命令行_cmd 命令行模式操作数据库 添加查询 修改 删除 ( 表 字段 数据)...
  4. vue学习笔记-vue双向数据绑定
  5. jquery 获取元素css的left,top值
  6. 2019新闻自动挂机阅读脚本
  7. RS485通讯上下拉电阻的选择
  8. Sybase数据库安全
  9. amoeba mysql_mysql中间件-amoeba
  10. 函数式编程对象Either
  11. AI搜索引擎优化工具-市场现状及未来发展趋势
  12. elementui组件中,树形组件的使用
  13. CSS3实现扇形动画菜单特效
  14. elasticsearch xpack license过期
  15. linux(4)进程控制
  16. 无线调试和unable to connect to 192.168.2.245:5555由于目标计算机积极拒绝,无法连接。 (10061)
  17. 使用IBM Data Studio 管理DB2
  18. 机器学习——成绩预测
  19. Java笨狗groovy学习笔记—Regular Expressions
  20. ubuntu播放mp4的插件

热门文章

  1. 用计算机VLOOKUP,vlookup怎么用?
  2. 开发2d游戏要用什么引擎_下一个游戏要使用什么2D游戏引擎
  3. 社交系统ThinkSNS+ 性能简述
  4. linux菜刀使用教程,中国菜刀的使用教程
  5. 服装内部条码和服装国标码的区别
  6. coj_1224: ACM小组的古怪象棋
  7. 关于苹果手机点击事件无效的解决办法
  8. 冲量在线创始人刘尧:以信创软硬件结合场景为突破口“占山为王”
  9. 冲量在线要做数据流通基础设施服务商
  10. swak4foam的安装(v7测试有效)