ReadWriteLock它是一个接口,它采用的是锁分离技术。它允许多个读线程同时读取共享资源,但是对于写资源,它只允许一个写线程去写入共享资源,它可以提升并发程序的性能。
代码实现
import java.util.concurrent.locks.ReadWriteLock;
import java.util.concurrent.locks.ReentrantReadWriteLock;public class SharedResource {
private int value;
private ReadWriteLock lock = new ReentrantReadWriteLock();public int readValue() {
lock.readLock().lock();
try {
return value;
} finally {
lock.readLock().unlock();
}
}public void writeValue(int newValue) {
lock.writeLock().lock();
try {
value = newValue;
} finally {
lock.writeLock().unlock();
}
}
}