读写锁中写锁基于状态变量加锁机制.pdfVIP

  • 1
  • 0
  • 约2.34千字
  • 约 2页
  • 2026-04-27 发布于北京
  • 举报

读写锁中写锁基于状态变量加锁机制.pdf

就来儿读写锁

优化微服务的表的读写并发操作,读写锁

公平和非公平,之前都解释过了,所以说,默认人家都是非公平锁。

线程当前=Thread.currentThread();//获取到一个状态=0intc=

getState();//w,剧透一下,人家读写锁,非常聪明地利用状态的值//

二进制值里面的高低16位分别代表了读锁和写锁,AQS就一个,状态//

状态二进制值的高16位代表了读锁,低16位代表了写锁//可以认为下

面的w就是从c(二进制值)通过位运算//获取到了状态的低16位,代表

了写锁的状态intw=exclusiveCount(c);

//如果c!=0,说明有人加过锁,但是此时c=0if(c!=0)

{//(注意:如果c!=0并且w==0那么共享计数!=0)

if(w==0||current!=getExclusiveOwnerThread())

returnfalse;if(w+exclusiveCount(acquires)MAX_

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档