带锁的线程安全的LRULinkedHashMap简单实现
来源:互联网 发布:淘宝网肚皮舞服装新款 编辑:程序博客网 时间:2024/05/18 00:40
import java.util.LinkedHashMap;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;public class LRULinkedHashMap<K, V> extends LinkedHashMap<K, V> {/** * */private static final long serialVersionUID = -952299094512767664L;private final int maxCapacity;private static final float DEFAULT_LOAD_FACTOR = 0.75f;private final Lock lock = new ReentrantLock();public LRULinkedHashMap(int maxCapacity) {super(maxCapacity, DEFAULT_LOAD_FACTOR, true);this.maxCapacity = maxCapacity;}@Overrideprotected boolean removeEldestEntry(java.util.Map.Entry<K, V> eldest) {return size() > maxCapacity;}@Overridepublic V get(Object key) {try {lock.lock();return super.get(key);} finally {lock.unlock();}}//可以根据实际情况,考虑对不同的操作加锁@Overridepublic V put(K key, V value) {try { lock.lock();return super.put(key, value);} finally { lock.unlock();}}}
0 0
- 带锁的线程安全的LRULinkedHashMap简单实现
- HashMap的简单实现,具有线程安全
- 简单的内存池实现(非线程安全)
- 简单单体模板类的实现(非线程安全)
- 实现一个简单的线程安全c++ map
- linux下的一个简单线程安全内存池实现
- ConcurrentHashMap线程安全的实现
- Map的线程安全实现
- 线程安全的实现方法
- 线程的简单实现
- 简单线程的实现
- cxf实现的ws_client(带安全验证)
- Java之线程安全的简单理解
- delphi非常简单的线程安全队列
- 简单 带返回值的线程 callable
- Dnn的自带IOC需要对象具有线程安全
- 线程安全的C++的Singleton实现
- [原创][Java]一个简单高效的线程安全队列的JAVA实现
- Lock-----Java 类
- PYTHON 常用库笔记 - random
- java类集框架
- 基于线结构光的三维测量系统转轴快速标定方法
- 大小端字节序
- 带锁的线程安全的LRULinkedHashMap简单实现
- ios tableview 自动计算cell高度
- Caused by: java.lang.ClassNotFoundException[android的终极解决错误]
- oracle命令sqlplus/nolog无法进入
- thread_Synchronized(同步与互斥)
- CGridCtrl的使用方法
- poj 1753
- ajax实例
- C++中嵌入python程序——命令行模式