利用读写锁简单实现一个缓存demo
2015-03-02 23:19
399 查看
package dhp.com.test2; 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 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; } }
相关文章推荐
- 利用Compass实现一个简单的搜索引擎
- [每天一个demo]用c#实现简单的xml操作代码
- 【Android游戏开发十六】Android Gesture之【触摸屏手势识别】操作!利用触摸屏手势实现一个简单切换图片的功能!
- 一个简单的JavaScript数据缓存系统实现代码
- 【Android游戏开发十六】Android Gesture之【触摸屏手势识别】操作!利用触摸屏手势实现一个简单切换图片的功能!
- 利用MailMessage,实现一个简单的mail 发送
- 一个简单的实现tab效果的demo
- 利用boost::asio实现一个简单的服务器框架
- 读写锁的一个简单实现
- 利用xmlHttp实现一个简单的Ajax无刷新
- 利用java实现一个简单的远程监控程序
- 用UDP实现可靠文件传输,如何利用UDX创建一个简单的WIN32程序
- 利用page rank,hits算法实现的一个简单的文本摘要系统
- 【Android2D游戏开发十六】(上文之触摸屏手势)详解Android Gesture 手势操作!利用手势实现一个简单切换图片的功能!
- 利用Compass实现一个简单的搜索引擎
- [每天一个demo]用c#实现简单的上传文件程序
- 一个简单的读写锁的实现(WINDOWS平台)
- 利用Compass实现一个简单的搜索引擎
- DNS服务器概念的简单的介绍,与搭建一个简单的DNS名称缓存服务器,实现域名解析(一)
- 16—【Android游戏开发十六】Android Gesture之【触摸屏手势识别】操作!利用触摸屏手势实现一个简单切换图片的功能