を取得することができない私は、lockを持ってクエーサーReenterantReadWriteLockが
System.out.println(requestWaitingLock.isWriteLocked());
System.out.println(requestWaitingLock.getReadHoldCount());
requestWaitingLock.writeLock().lock();
System.out.println("write lock acquired");
とドキュメントにそれが言うので、「その:
public void lock()
neithの場合は書き込みロックを取得します。読み出しまたは書き込みロックが別のストランドによって保持され、直ちに戻り、書き込みロック保持カウントが1に設定されます。
現在のストランドがすでに書き込みロックを保持している場合、ホールドカウントは1だけインクリメントされ、メソッドはただちに戻ります。
ロックが別のストランドによって保持されている場合、現在のストランドはストランドスケジューリングの目的で無効になり、書き込みロックが取得されるまで休止状態になり、その時点で書き込みロック保持カウントは1に設定されます。false 0
これは、どちらもまったく
Strand
によって保持されて読み取ることも、ロックを書く意味:
は、だから私はこの出力を取得します。だからなぜ私はFiber
がブロックされていますか?
EDIT。私は、このロックを取得するすべてのファイバーがそれを解放することを確信しています。したがって、他のファイバーがそれを無限に獲得することはできません。