读写锁实现缓存系统
来源:互联网 发布:2013网络零售交易额 编辑:程序博客网 时间:2024/06/07 05:39
package com.icss.thread;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.locks.ReadWriteLock;
import java.util.concurrent.locks.ReentrantReadWriteLock;
public class CacheDemo {
private Map<String, Object> cache = new HashMap<String, Object>();
public static void main(String[] args) {
}
private ReadWriteLock rwl = new ReentrantReadWriteLock();
public /*synchronized*/ Object getData(String key){
rwl.readLock().lock();
Object value = null;
try {
value = cache.get(key);
if(value == null){
rwl.readLock().unlock();
rwl.writeLock().lock();
try {
if(value == null){
value = "aaaa"; //实际失去queryDB();
}
} finally {
rwl.writeLock().unlock();
}
rwl.readLock().lock();
}
} finally {
rwl.readLock().unlock();
}
return value;
}
}
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.locks.ReadWriteLock;
import java.util.concurrent.locks.ReentrantReadWriteLock;
public class CacheDemo {
private Map<String, Object> cache = new HashMap<String, Object>();
public static void main(String[] args) {
}
private ReadWriteLock rwl = new ReentrantReadWriteLock();
public /*synchronized*/ Object getData(String key){
rwl.readLock().lock();
Object value = null;
try {
value = cache.get(key);
if(value == null){
rwl.readLock().unlock();
rwl.writeLock().lock();
try {
if(value == null){
value = "aaaa"; //实际失去queryDB();
}
} finally {
rwl.writeLock().unlock();
}
rwl.readLock().lock();
}
} finally {
rwl.readLock().unlock();
}
return value;
}
}
0 0
- 读写锁实现缓存系统
- 用读写锁实现一个缓存系统
- 多线程 : 读写锁实现缓存系统
- 读写锁实现缓存系统demo
- 多线程之使用读写锁ReentrantReadWriteLock实现缓存系统
- java中读写锁的实现及使用读写锁简单实现缓存系统的实例
- java中读写锁的实现及使用读写锁简单实现缓存系统的实例
- java中读写锁的实现及使用读写锁简单实现缓存系统的实例
- Java中读写锁的实现及使用读写锁简单实现缓存系统的实例
- 利用读写锁写一个缓存系统
- 利用读写锁模拟一个缓存系统
- 《黑马程序员》 读写锁之缓存系统
- java读写锁设计缓存系统
- 使用读写锁设计缓存系统
- linux系统读写缓存
- 读写锁实现模拟缓存池
- 码农小汪-缓存的原理 读写锁的实现缓存
- 线程学习之读写锁模拟缓存系统
- hibernate 一对多关联关系(详细分析)
- Android Fragment
- 一个截取字符串函数引发的思考
- win7 上安装 ubuntu 后,无法进入 win7 系统的解决方法
- 在ubuntu系统上安装sublime2 和 拼音输入法
- 读写锁实现缓存系统
- DHCP综述
- 致 我的大学两年
- java
- BW TABLES -先记下以后再翻成中文
- 黑马程序员_OC内存管理
- Lucene的多种高级搜索形式
- 黑马程序员_block 和 protocol的使用
- 黑马程序员_Foundation框架的学习