Java并发编程----synchronized

Synchronized:
解决多线程访问时,资源的同步性,可以保证⽅法、代码块在任意时刻只有⼀个线程执⾏。

三种使⽤⽅式:

修饰实例⽅法: 给对象实例加锁,进⼊同步代码前,要获得对象实例的锁

修饰静态⽅法: 给类加锁,作⽤于类的所有对象实例,

修饰代码块: 对指定代码块加锁,进⼊同步代码库前要获得 给定对象的锁。

synchronized底层实现原理
修饰同步语句块的实现使⽤的是 monitorenter 和 monitorexit 指令,其中
monitorenter 指令指向同步代码块的开始位置, monitorexit 指令则指明同步代码块的结束位置。
修饰⽅法使用的是ACC_SYNCHRONIZED 标识,该标识指明了该⽅法是⼀个同步⽅法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值