java多线程实现卖票小程序
2015-09-02 20:02
603 查看
package shb.java.demo; /** * 多线程测试卖票小程序。 * @Package:shb.java.demo * @Description: * @author shaobn * @Date 2015-9-2下午7:49:53 */ public class TestSyn { public static void main(String[] args) { //此注释为实现方式一 /*TicketDemo td = new TicketDemo(); Thread t1 = new Thread(td); Thread t2 = new Thread(td); t1.start(); t2.start();*/ //为实现方式二 TicketDemo2 td2 = new TicketDemo2(); Thread t3 = new Thread(td2); Thread t4 = new Thread(td2); t3.start(); t4.start(); } } /** * 卖票的类(实现方式一) * @Package:shb.java.demo * @Description: * @author shaobn * @Date 2015-9-2下午7:44:45 */ class TicketDemo implements Runnable{ private int ticket = 200; public void run(){ while(true){ synchronized(this){ if(ticket>0){ try { Thread.sleep(100); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } System.out.println(Thread.currentThread()+"***"+"票数为"+ticket--); } } } } } /** * 卖票的类(实现方式二) * @Package:shb.java.demo * @Description: * @author Shihaobin * @Date 2015-9-2下午7:51:56 */ class TicketDemo2 implements Runnable{ public int ticket = 200; public void run(){ while(true){ show(); } } //实现对多线程程序的封装 public synchronized void show(){ if(ticket>0){ try { Thread.sleep(100); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } System.out.println(Thread.currentThread()+"***"+"票数为"+ticket--); } } } 利用多线程实现的简单模拟卖票。
相关文章推荐
- 【转载】egret横屏问题
- 安卓手机微信页面position: fixed位置错误
- 谷歌大脑科学家 Caffe缔造者 贾扬清 微信讲座完整版
- 微信JS接口安全域名填写ip地址
- Android微信智能心跳方案
- 微信地理位置信息代码
- 仿微信6.0笔记
- 微信关注回复代码
- php微信开发接入指南
- 微信关键词自动回复代码
- 微信自动回复代码
- 微信开发验证代码
- 第6篇,企业如何创建微信公众平台?
- 基于融云SDK实现高仿微信
- 第5篇,个人如何创建微信公众平台?
- 高仿微信聊天源码
- 微信上收藏的文章保存到evernote
- 零java基础搞定微信Server_3:搭建微信Server本地开发环境
- 微信公众号一些事
- 微信公众号开发