您的位置:首页 > 其它

线程模拟抢票功能

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();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: