java基础火车站售票(线程安全)
案例:火车站售票(线程安全)
package com.itguo.anli;public class anli {public static void main(String[] args) {MyThread myThread = new MyThread();Thread t1 = new Thread(myThread);Thread t2 = new Thread(myThread);Thread t3 = new Thread(myThread);Thread t4 = new Thread(myThread);t1.setName("窗口1");t2.setName("窗口2");t3.setName("窗口3");t4.setName("窗口4");t1.start();t2.start();t3.start();t4.start();}
}class MyThread implements Runnable{private int i = 100;@Overridepublic void run() {while (i>0){synchronized (this){if (i>0){//获取当前线程对象名称String name = Thread.currentThread().getName();try {Thread.sleep(200);} catch (InterruptedException e) {e.printStackTrace();}--i;//控制台提示System.out.println(name+"卖出了一张票,还剩"+i);}}}}
}
java基础火车站售票(线程安全)相关推荐
- Java基础教程-10-多线程
Java基础教程-10-多线程 1. 多线程 我们在之前,学习的程序在没有跳转语句的前提下,都是由上至下依次执行,那现在想要设计一个程序,边打游戏边听歌,怎么设计? 要解决上述问题,咱们得使用多进程或 ...
- java 模拟火车站售票系统_模拟售票系统java编程
模拟售票系统java编程 /* 项目:用多线程设计一个模拟火车站售票大厅的工作情形. 问题描述:火车站有许多售票窗口,有些开放,有些不开放.顾客进入火车站售票厅后,到某个售票窗口排队等候,排到了就办理 ...
- [ 转载 ] Java基础14--创建线程的两个方法
http://www.cnblogs.com/whgw/archive/2011/10/03/2198506.html Java提供了线程类Thread来创建多线程的程序.其实,创建线程与创建普通的类 ...
- Java基础巩固之线程学习
一.线程的学习 线程就是程序中执行单个任务的顺序的流程. 线程创建的两种方式: 1.继承Thread类 publicstaticvoidmain(String[]args) { //继承Thread类 ...
- Java基础知识回顾--线程
基本概念 线程是一个程序内部的顺序控制流 Java的线程是通过java.lang.Thread类来实现的.main函数是一个主线程,用户可以通过创建Thread的实例来创建新的线程.每一个线程都必须实 ...
- Java基础-进程与线程
文章目录 一. 进程/线程/线程上下文切换 1. 进程 2. 线程 3. 线程与进程的区别 4. 上下文 5. 寄存器 6. 程序计数器 7. PCB-进程控制块 8. 上下文切换 8.1. 上下文切 ...
- JAVA 基础 day-27 练习 线程与线程安全
1.有一个抽奖池,该抽奖池中存放了奖励的金额,该抽奖池用一个数组int[] arr = {10,5,20,50,100,200,500,800,2,80,300}; 创建两个抽奖箱(线程)设置 ...
- Java基础21 多线程线程两种实现方式 锁
一.多线程的概念 1.程序 :一个固定逻辑与数据的集合 就称为程序 例如淘宝 贪吃蛇小游戏 2.CPU: 中央处理器 主要用于协调程序与硬件进行配置的工作 3.并发与并行 1.并发(高并发) 在同一个 ...
- 【java基础】子线程任务发生异常,主线程事务如何回滚?
文章目录 一.提出问题 二.主线程与子线程 三.线程池 四.异常的捕获 五.事务的回滚 一.提出问题 最近有一位朋友问了我这样一个问题,问题的截图如下: 这个问题问的相对比较笼统,我来稍微详细的描述下 ...
最新文章
- AI时代,为何机器人公司无法盈利只能走向倒闭?
- MySQL 优化实战记录
- 物理学家解说2012
- 前端实现数字快速递增_天正CAD教程之递增文字应用实例
- python3.6安装【scrapy】-最保守方法
- 龘(若出身在新中国我的65047777
- Hadoop分布式文件系统HDFS的工作原理详述
- c语言居中三角形乘法表,用C语言输出四种三角形的九九乘法表
- 77-CCI,Commodity Channel Index,商品通道指标.(2015.7.1)
- BUUCTF笔记之Misc系列部分WriteUp(一)
- telnet命令用法举例
- 线性调频(LFM信号)脉冲压缩雷达matlab仿真- 脉冲压缩 测距 测速 距离速度三维像(附matlab代码)
- python查询12306余票_12306火车票余票查询Python实现邮件发送
- 8.18 @烤仔建工 | 抓住夏天的尾巴,和烤仔一起打造秘密花园吧
- 大学《管理学》教材笔记
- JQuery中append()方法的使用
- Excel实现分时统计折线图
- 男人应该摒弃“处女情结”
- 在linux系统下实现SHELL自动化批量备份交换机配置文件
- NET下基于OO4O,FME,ODP.NET的Oracle Spatial空间数据读取操作
热门文章
- mysql polygon_查找POINT是否在MySQL 5.7中的POLYGON中
- java饲养员喂动物_体现JAVA中的面向对象思想,接口(抽象类)的用处 :饲养员给动物喂食物 | 学步园...
- 五金切断模具结构和设计注意事项
- 【万字长文】史上最强css、html总结~看完涨薪不再是梦
- BZOJ 2121: 字符串游戏
- java中关键字_java中的关键字是什么?
- Elasticsearch+Spring Boot集成实践
- iPhone连接mac电脑连接时反复连接与断开情况的处理
- spring boot注解@PostConstruct
- 计算机相关新闻 英语,常见的新闻英语短语有什么