Dim*_*ims 5 java reentrantreadwritelock java.util.concurrent
请多解释一下合同.我无法弄清楚两个锁是否以ReentrantReadWriteLock某种方式包含在内?或者这些只是一捆两个正常的锁?
它允许多个线程同时读取资源,但需要线程等待独占锁才能写入资源.
规则是:
在内部,锁定状态(c)由int值维护.在这种情况下,由于我们有读写锁,因此它在逻辑上分为两个短路:较低的一个表示独占(写入)锁定保持计数,而较高的一个表示共享(读取器)保持计数.
假设当前的锁定状态是c = xxxx xxxx xxxx xxxx yyyy yyyy yyyy yyyy那么读取器锁定数是高位xxxx xxxx xxxx xxxx
作家锁的数量是低位yyyy yyyy yyyy yyyy
如果线程正在等待读锁,则它是共享的,但当线程想要获取写锁时,仅允许该线程进行与互斥相同的访问。
因此任一操作都是允许的。if lock is held by readers and thread request write lock no more readers are allowed to acquire read lock until thread which has acquired write lock release it。
| 归档时间: |
|
| 查看次数: |
2685 次 |
| 最近记录: |