先来看看ReentrantReadWriteLock的应用:



所以读写锁地产都是一个sync对象来试实现的。首先看看WriteLock:
加锁:

加锁成功获得独占锁,加锁失败,进入同步队列中,并且被pack起来;
下面是unlock:

头节点等于-1


ReadLock:加锁


释放锁:

先来看看ReentrantReadWriteLock的应用:
所以读写锁地产都是一个sync对象来试实现的。首先看看WriteLock:
加锁:
加锁成功获得独占锁,加锁失败,进入同步队列中,并且被pack起来;
下面是unlock:
头节点等于-1
ReadLock:加锁
释放锁:
本文标题:Java并发变成之读写锁的实现--ReentrantReadWr
本文链接:https://www.haomeiwen.com/subject/rskksctx.html
网友评论