classTicketextendsThread{staticinttick=100;Objectobj=newObject();publicvoidrun(){synchronized(this){while(true){if(tick>0){System.out.println(Thread.currentThread().getNa...
class Ticket extends Thread
{
static int tick = 100;
Object obj=new Object();
public void run()
{
synchronized(this)
{
while(true)
{
if(tick>0)
{
System.out.println(Thread.currentThread().getName()+"卖票中"+tick--);
}
}
}
}
}
class TicketDemo
{
public static void main(String[] args)
{
Ticket t1= new Ticket();
Ticket t2= new Ticket();
t1.start();
t2.start();
}
}
结果程序还是正常的,那么这个this 到底是什么??????????this指向谁?
两个不同的线程对象t1,t2 调用了 synchronized(this) ,this 理论上应该指向2个不同的t1,t2对象,怎么程序还是能控制2个线程的同步?
额。。不好意思,应该先描述一下, 代码模拟多窗口卖票,想让多线程模拟多窗口同时卖票。一堆代码确实难看。
展开