使用ReadWriteLock实现模拟缓存_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 使用ReadWriteLock实现模拟缓存

使用ReadWriteLock实现模拟缓存

 2014/7/7 21:45:12  a67474506  程序员俱乐部  我要评论(0)
  • 摘要:使用ReadWriteLock的读写锁实现模拟缓存的功能packagecn.zto.lock;importjava.util.HashMap;importjava.util.Map;importjava.util.concurrent.locks.ReadWriteLock;importjava.util.concurrent.locks.ReentrantReadWriteLock;//模仿缓存publicclassCacheDateTest
  • 标签:实现 使用 DWR 缓存
class="java">

?

?

使用ReadWriteLock的读写锁?实现?模拟缓存的?功能

?

?

package cn.zto.lock;

import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.locks.ReadWriteLock;
import java.util.concurrent.locks.ReentrantReadWriteLock;

//模仿缓存
public class CacheDateTest {
	
	ReadWriteLock rwl = new ReentrantReadWriteLock();
	Map<Object, Object> map = new HashMap<Object, Object>();
	
	public Object get(Object key){
		
		rwl.readLock().lock();
		
		Object value = null;
		boolean flag ;
		value = map.get(key);
		
		if (value == null) {
			flag = false;
			rwl.readLock().unlock();
			rwl.writeLock().lock();
			if (!flag) {
				value = " 初始化 ";
				map.put(key, value);
				flag = true;
			}
			rwl.writeLock().unlock();
			rwl.readLock().lock();
		}
		
		rwl.readLock().unlock();
		return value;
	}
	
}

?

?

?

?

?

?

上一篇: Java ASCII 表 下一篇: Java中时间戳锁介绍
发表评论
用户名: 匿名