java多线程实现卖票小程序
1 package shb.java.demo; 2 /** 3 * 多线程测试卖票小程序。 4 * @Package:shb.java.demo 5 * @Description: 6 * @author shaobn 7 * @Date 2015-9-2下午7:49:53 8 */ 9 public class TestSyn { 10 public static void main(String[] args) { 11 //此注释为实现方式一 12 /*TicketDemo td = new TicketDemo(); 13 Thread t1 = new Thread(td); 14 Thread t2 = new Thread(td); 15 t1.start(); 16 t2.start();*/ 17 //为实现方式二 18 TicketDemo2 td2 = new TicketDemo2(); 19 Thread t3 = new Thread(td2); 20 Thread t4 = new Thread(td2); 21 t3.start(); 22 t4.start(); 23 } 24 } 25 /** 26 * 卖票的类(实现方式一) 27 * @Package:shb.java.demo 28 * @Description: 29 * @author shaobn 30 * @Date 2015-9-2下午7:44:45 31 */ 32 class TicketDemo implements Runnable{ 33 private int ticket = 200; 34 public void run(){ 35 while(true){ 36 synchronized(this){ 37 if(ticket>0){ 38 try { 39 Thread.sleep(100); 40 } catch (Exception e) { 41 // TODO: handle exception 42 e.printStackTrace(); 43 } 44 System.out.println(Thread.currentThread()+"***"+"票数为"+ticket--); 45 } 46 } 47 } 48 } 49 50 } 51 /** 52 * 卖票的类(实现方式二) 53 * @Package:shb.java.demo 54 * @Description: 55 * @author Shihaobin 56 * @Date 2015-9-2下午7:51:56 57 */ 58 class TicketDemo2 implements Runnable{ 59 public int ticket = 200; 60 public void run(){ 61 while(true){ 62 show(); 63 } 64 } 65 //实现对多线程程序的封装 66 public synchronized void show(){ 67 if(ticket>0){ 68 try { 69 Thread.sleep(100); 70 } catch (Exception e) { 71 // TODO: handle exception 72 e.printStackTrace(); 73 } 74 System.out.println(Thread.currentThread()+"***"+"票数为"+ticket--); 75 } 76 77 } 78 }利用多线程实现的简单模拟卖票。
转载于:https://www.cnblogs.com/assassin666/p/4779359.html
java多线程实现卖票小程序相关推荐
- java 小程序 多线程_《多线程练习—买票小程序——Java第十四周》
/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称: < ...
- java多线程并发卖票问题
最近学习遇到了经典的多线程并发的卖票问题,在网上搜了一些答案,还是决定自己写一写看,于是就出现了这篇文章,希望对初学者有些帮助!!! package practice.threadsafe; /* 多 ...
- Java 多线程模拟卖票
完成操作系统作业Java模拟多线程卖票 /*** @Author: crush* @Date: 2021-05-12 16:24* version 1.0*/ public class SellTic ...
- java多线程,卖票案例
目录 卖票案例 测试代码 代码1 代码2,卖票问题的思考 代码3 代码4 代码5 卖票案例 测试代码 package com.itheima_06;/*需求:某电影院目前正在上映国产大片,共有100张 ...
- java多线程重复卖票的问题
上代码: public class Test {public static void main(String[] args) {ThreadTicket ticket = new ThreadTick ...
- java多线程实现卖火车票小案例同步代码块优先级守护线程
/*** * * @author 时光机jay * @version 1.8 * @since 2020/9/28 * * */ public class Test33 { s ...
- 基于Java毕业设计学习自律养成小程序后台源码+系统+mysql+lw文档+部署软件
基于Java毕业设计学习自律养成小程序后台源码+系统+mysql+lw文档+部署软件 基于Java毕业设计学习自律养成小程序后台源码+系统+mysql+lw文档+部署软件 本源码技术栈: 项目架构:B ...
- Python实现12306自动抢票小程序
项目描述: 本程序通过网络爬虫技术,通过抓包分析出一次购票过程中出现的所有请求,最后通过Python程序一步步实现模拟浏览器进行请求.本程序通过调用云打码平台实现登录时候验证码校验,并能实现不断地监控 ...
- 基于JAVA社区微服务平台小程序服务器端计算机毕业设计源码+系统+lw文档+部署
基于JAVA社区微服务平台小程序服务器端计算机毕业设计源码+系统+lw文档+部署 基于JAVA社区微服务平台小程序服务器端计算机毕业设计源码+系统+lw文档+部署 本源码技术栈: 项目架构:B/S架构 ...
- 现学现卖微信小程序开发(二)
现学现卖微信小程序开发(一) 现学现卖微信小程序开发(三):引入Rx,为小程序插上翅膀 一个Todo应用的小程序版 好的,那么下一步我们就先照猫画虎,新建一个todos文件夹,然后一套四样同名文件准备 ...
最新文章
- 像鸟一样树上栖息、空中抓物,斯坦福给无人机安上爪子,登Science子刊封面
- 文轩在线:如何让IT部门成为企业的价值中心
- java打印出继承体系的类(包括抽象类)、接口、域字段
- 高并发-【抢红包案例】之一:SSM环境搭建及复现红包超发问题
- if submission is included through the excel
- delphi 执行长时间存储过程 显示进度_项目管理_十大管理体系之「项目进度管理」知识整理及心得分享...
- [Python] L1-005. 考试座位号-PAT团体程序设计天梯赛GPLT
- tensorflow获取可用GPU设备
- Navicate无法连接,提示is not allowed to connect to this mysql server
- JS:来一盘紧张而又刺激的五子棋
- Android有线IPV6总结(二):内核中RS与RA的一点学习
- MySQL字符串规则提取
- 【历史上的今天】3 月 6 日:Unix 版权争夺战;豆瓣网上线;谷歌推出了 Google Play
- 【Nginx】警惕状态码 499 ,不只是 504
- php网页课程设报告,网页设计课程设计报告
- 开源堡垒机jumpserver及麒麟堡垒机安装
- (附源码)ssm+mysql+基于微信平台的牙科就诊信息管理系统的设计与实现 毕业设计211157
- android记录当前滚动高度,Android自定义View - ScrollView实时获取滚动距离
- 计算机组装与维修图文,{企业管理流程图}电脑组装与维护培训讲义版十二课电脑组装流程图解(50页)-原创力文档...
- python——实现电脑控制手机
热门文章
- Android群英传笔记——第十二章:Android5.X 新特性详解,Material Design UI的新体验...
- NHibernate3.0里各个dll的用处和简单说明【转】
- Entity Framework 实践系列 —— 搞好关系 - 两情相悦(双向一对一)
- ListT的RemoveAll方法
- 一对多关联关系映射和设置级联属性
- mybatis缓存查找顺序
- Redis 集群中的纪元(epoch)
- excel日期相关计算天数
- arch终端添加中文支持_arch/manjaro - 添加archlinuxcn的软件源
- IDEA中.properties配置文件输入中文显示Unicode编码,本地编辑器,服务器打开显示Unicode编码问题解决方案