一.读写锁特征
读写锁的形式如下
ReadWriteLock readWriteLock = new ReentrantReadWriteLock();
Lock readLock = readWriteLock.readLock();
Lock writeLock = readWriteLock.writeLock();
1.读读共享
volatile Integer a = 0;
public void test1() {
readLock.lock();
try {
System.out.println(a);
TimeUnit.SECONDS.sleep(100); //阻塞不释放锁
} catch (InterruptedException e) {
e.printStackTrace();
} finally {
readLock.unlock();
}
}
public void test2(){
readLock.lock();
try {
System.out.println(a);
TimeUnit.SECONDS.sleep(100); //阻塞不释放锁
} catch (InterruptedException e) {
e.printStackTrace();
} finally {
readLock.unlock();
}
}
public static void main(String[] args) {
ReadWriteLockTest readWriteLockTest = new ReadWriteLockTest();
new Thread(() -> {