线程模拟抢票功能
2018-02-27 19:02
253 查看
package cn.et.deadlock;
public class Ticket implements Runnable {
private int tick=1000;
Object obj=new Object();
public void run(){
while (true) {
synchronized(obj){
show();
}
}
}
public synchronized void show(){
synchronized(obj){
if (tick>0)
{
try{
Thread.sleep(10);//模拟网络延迟 睡眠结束之后会重新进入就绪状态和其他线程争抢cup的执行权
}catch(Exception e){
}
System.out.println(Thread.currentThread().getName()+"...code..."+tick--);
}
}
}
}
class DeadLockDemo {
public static void main(String[] args) {
Ticket t = new Ticket();
Thread t1 = new Thread(t);
Thread t2 = new Thread(t);
t1.start();
t2.start();
}
}
public class Ticket implements Runnable {
private int tick=1000;
Object obj=new Object();
public void run(){
while (true) {
synchronized(obj){
show();
}
}
}
public synchronized void show(){
synchronized(obj){
if (tick>0)
{
try{
Thread.sleep(10);//模拟网络延迟 睡眠结束之后会重新进入就绪状态和其他线程争抢cup的执行权
}catch(Exception e){
}
System.out.println(Thread.currentThread().getName()+"...code..."+tick--);
}
}
}
}
class DeadLockDemo {
public static void main(String[] args) {
Ticket t = new Ticket();
Thread t1 = new Thread(t);
Thread t2 = new Thread(t);
t1.start();
t2.start();
}
}
相关文章推荐
- javascript模拟线程功能
- 全功能Weatherford/Neotec.WellFlo.2015.v6.1.0.3494油气井生产模拟软件
- 在MIDP1.0中简单模拟图片翻转功能
- 模拟路由功能
- xcode 8 新功能:检测线程竞态,很棒的功能,文章也写的很好,推荐给大家
- 银行账户模拟(线程协作) java 实现
- 创建购物车实体类,模拟购物车功能
- ListView模拟微信好友功能
- javamail模拟邮箱功能--邮件回复-中级实战篇【邮件回复方法】(javamail API电子邮件实例)
- 2个线程模拟卖火车票
- Java基础知识强化之IO流笔记53:IO流练习之 自定义类模拟BufferedReader的readLine()功能案例
- 实现方法: Google面试题—有四个线程1、2、3、4。线程1的功能就是输出1,线程2的功能就是输出2,以此类推.........现在有四个文件ABCD
- bash中IO重定向功能和管道功能的模拟
- Android_Listview中使用线程实现分页延迟加载的功能
- PVTsim.V20 多用途PVT模拟软件(油气勘探开发)完整全功能版本
- JAVA学习笔记(1)_____模拟线程通信之生产者消费者问题
- Android 系统下模拟触点击的功能与权限
- 如何定制一款12306抢票浏览器——启动“人”线程
- 模拟线程Timer(JS)
- 基于STM32处理器的USB HID模拟鼠标键盘(2) - 实现键盘鼠标功能