理解Synchronized(4)

  • 可重入性---一个线程获得某个对象锁以后要是想执行需要同样锁的代码时,可直接执行。synchronized具有可重入性特点。可重入性通过记录锁的持有线程数量来实现,当执行synchronized保护的操作时先判断对象锁是否被线程所得,若是再判断锁获得线程是否当前对象,若是则增加持有数量,若不是则进入阻塞队列。当线程释放锁时持有数量减小,等持有数量为0时才释放整个锁。
  • 内存可见性--synchronized能够实现内存可见性。在每次获得所之前获取内存中的值,在释放锁之前将最新结果刷新到内存中,使其他线程工作内存中的值失效。
  • 原子性--synchronized通过某一时间对同一对象的操作只能由单个线程来完成的排他性机制保证原子性。
  • 有序性--synchronized保护的代码将会同一时间只能由单个线程操作相当于单线程,这种情况下能够保证代码有序性
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值