对线程操作时读或者写做以区分,读就不该加以限制,都能读,写才加以限制
这样才够合理。这就是读写锁的意义。
读读: 不阻塞不互斥
读写:读阻塞写,写也阻塞读
写写:写写互斥。
获取方法如下:
ReentrantReadWriteLock lock = new ReentrantReadWriteLock();
ReentrantReadWriteLock.ReadLock readLock = lock.readLock();
ReentrantReadWriteLock.WriteLock writeLock = lock.writeLock();
使用方法和ReentrantLock类似。