多线程系列(三)---synchronized其他概念

java中synchronized同步块是可以重入的。这就意味着如果一个java线程得到一个对象的锁之后,那个这个线程可以进入同一个对象同步的另一个java代码块。

情景一:

public class Reentrant{
    public synchronized outer(){
        inner();
    }

    public synchronized inner(){
        //do something
    }
}
outer()和inner()都被 synchronized关键字修饰,这和synchronized(this)等效。一个线程调用outer()方法之后再调用inner()方法完全没有问题,因为这两个方法都是由相同的管程对象(this)同步,这就是重入。

情景二


最终结果也是正常


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值