本帖最后由 钟佩桓 于 2013-4-24 19:43 编辑
下面这段代码用实现的方式来进行卖票~ 前面毕老师用继承的方式进行卖票 在总数量100上定义了static来使四个窗口进行共享数据
这里为什么不用定义private static int tick =1000;?也可以共享数据呢
实现方式:
class Ticket implements Runnable
{
private int tick = 1000;
Object obj = new Object();
public void run()
{
while(true)
{
synchronized(obj)
{
if(tick>0)
{
try{Thread.sleep(10);}catch(Exception e){}
System.out.println(Thread.currentThread().getName()+"....sale : "+ tick--);
}
}
}
}
}
继承方式:
class Demo extends Thread
{
//定义买票总数
private static int x=100;
public void run()
{
while(true)
{
if(x>0)
{
System.out.println(Thread.currentThread().getName()+"....Demo run"+x--);
}
}
}
}
|