ReadWriteLock

读锁和写锁共用同一Sync(即AQS,可为公平或非公平)
一个暂时的无锁状态可能是无线程来加锁或者在解锁和加锁的过程中
公平:若已有线程等待,写锁和读锁请求都排队等待
非公平:写锁永远可以竞争(在解锁和加锁间隙时,即便前面有线程等待),竞争失败去排队,若队首节点为写锁请求则读锁排队,否则读锁也可以竞争
state高16位为读锁数量,低16位为写锁重入数,额外有线程本地变量维护读锁重入数

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值