黑马程序员技术交流社区
标题:
关于缓存的一个小案例
[打印本页]
作者:
唐进
时间:
2012-10-26 12:16
标题:
关于缓存的一个小案例
import java.util.HashMap;
import java.util.concurrent.locks.ReentrantLock;
import java.util.concurrent.locks.ReentrantReadWriteLock;
import javax.print.attribute.HashAttributeSet;
public class cacheTest {
private static HashMap<String, Object> map = new HashMap<String, Object>();
public static void main(String[] args) {
for (int i = 1; i < 11; i++) {
}
}
public static Object load(String key) {
ReentrantReadWriteLock rwl = new ReentrantReadWriteLock();
rwl.readLock().lock();
Object object = null;
try {
object=map.get(key);
if (object == null) {
rwl.readLock().unlock();
rwl.writeLock().lock();
try {
if (object != null) {
object = "aa";
map.put(key, object);
System.out.println("writting....");
}
} finally {
rwl.writeLock().unlock();
}
rwl.readLock().lock();
}
} finally {
rwl.readLock().unlock();
}
return object;
}
}
这是一个关于缓存的声明,用了读锁和写锁,让缓存可以供多人访问,写的时候只能让一人进行写操作,分享一下,刚学的一个案例
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2