多线程实现买票功能
来源:互联网 发布:linux war解压 编辑:程序博客网 时间:2024/05/22 00:37
方法一:
public class SellTicket extends Thread {
private static int tickets=1000;
public void run(){
while(tickets>0){
System.out.println(currentThread().getName()+"sell:"+tickets);
tickets--;
}
}
}
SellTicket sellTicket1=new SellTicket();
SellTicket sellTicket2=new SellTicket();
SellTicket sellTicket3=new SellTicket();
sellTicket1.start();
sellTicket2.start();
sellTicket3.start();
方法二:
public class SellTicketRun implements Runnable {
private int tickets=1000;
Object obj=new Object();
@Override
public void run() {
while(tickets>0){
//同步代码块
synchronized (obj) {
if(tickets>0){
try {
Thread.sleep(10);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(Thread.currentThread().getName()+"sell:"+tickets);
tickets--;
}
}
}
}
}
SellTicketRun sellTicketRun=new SellTicketRun();
Thread th1=new Thread(sellTicketRun);
Thread th2=new Thread(sellTicketRun);
Thread th3=new Thread(sellTicketRun);
th1.start();
th2.start();
th3.start();
多线程继承Thread和实现runnable方式的区别:避免单继承的局限性,
继承Thread:线程代码存放Thread子类run方法中,
实现runnable:线程方法存放在接口的子类的run方法中
- 多线程实现买票功能
- java 多线程 实现窗口买票功能
- 多线程买票
- java同步代码块 实现的买票功能
- 多线程-经典买票问题
- 多线程实例买票
- 简易多线程买票案例
- 多线程买票拉-java
- cocos2d-x多线程{买票啦}
- java多线程--买票(ticket)实验
- java多线程买票,同步锁
- 通过锁对象实现买票
- 用买票例子讲讲多线程安全问题
- 多线程_互斥锁解决买票问题
- java 多线程详解二 买票示例
- java 多线程详解二 买票示例
- Java多线程基础—买票案例
- Java多线程实现下载功能
- UNIX网络编程——套接字选项(心跳检测、绑定地址复用)
- sqlserver把行转成列
- 面试题目
- java的final关键字与闭包
- Ubuntu下 MIUI V5 adb devices 无法识别
- 多线程实现买票功能
- 滚动条到底自动加载数据
- c shell 整理文件格式命令
- cci-Q3.1 一个数组实现三个栈
- 回车符号与换行符号
- 从决策树学习谈到贝叶斯分类算法、EM、HMM
- hoops画箭头
- webservice的原理及概念
- 文字滚动特效