Java JUC并发之读写锁
2021-07-23 09:55
标签:目的 new set lan 线程 lazy 写入 adl demo Read Lock 读锁 (共享锁)=> 允许多个线程一起读 读的时候不允许写操作 Write Lock 写锁 (独占锁)=> 只允许一个线程(独家)写的时候不允许读操作 读写锁的目的: 保证线程安全 读写分离 Java JUC并发之读写锁 标签:目的 new set lan 线程 lazy 写入 adl demo 原文地址:https://www.cnblogs.com/liuzhhhao/p/15016479.html九、读写锁 ReadWriteLock
package com.liu.rw;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReadWriteLock;
import java.util.concurrent.locks.ReentrantLock;
import java.util.concurrent.locks.ReentrantReadWriteLock;
/**
* 独占锁(排他锁) 写锁 一次只能被一个线程占有
* 共享锁 读锁 多个线程同时占有
* ReadWriteLock 读写锁
* 读-读 可以共存!
* 读-写 不能共存 读写分离
* 写-写 不能共存
*/
public class ReadWriteLockDemo {
public static void main(String[] args) {
MyCacheLock myCache = new MyCacheLock();
// 写入操作
for (int i = 1; i {
myCache.put(temp,temp);
},String.valueOf(i)).start();
}
// 读取操作
for (int i = 1; i {
myCache.get(temp);
},String.valueOf(i)).start();
}
}
}
/**
* 自定义缓存 get set 使用Map
*/
class MyCache{
private volatile Map
下一篇:CSS 列表