java this 锁_java 同步中的锁--this 到底指向谁?

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个线程的同步?

额。。不好意思,应该先描述一下, 代码模拟多窗口卖票,想让多线程模拟多窗口同时卖票。一堆代码确实难看。

展开

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值