JAVA多线程用JDK1.5提供的读写锁实现高并发本地缓存工具类
发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,这篇文章主要讲解了"JAVA多线程用JDK1.5提供的读写锁实现高并发本地缓存工具类",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"JAVA多线程用JD
千家信息网最后更新 2025年02月04日JAVA多线程用JDK1.5提供的读写锁实现高并发本地缓存工具类
这篇文章主要讲解了"JAVA多线程用JDK1.5提供的读写锁实现高并发本地缓存工具类",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"JAVA多线程用JDK1.5提供的读写锁实现高并发本地缓存工具类"吧!
package com.study;import java.util.LinkedHashMap;import java.util.Map;import java.util.concurrent.locks.ReadWriteLock;import java.util.concurrent.locks.ReentrantReadWriteLock;public class ReadWriteLockDemo { private static MapcacheMap = new LinkedHashMap (); public static void main(String[] args) { ReadWriteLockDemo readWriteLockDemo = new ReadWriteLockDemo(); final CacheUtils cacheUtils = readWriteLockDemo.new CacheUtils(); Thread thread = new Thread(new Runnable() { @Override public void run() { for(Integer index = 0;index <= 100;index ++){ System.out.println(cacheUtils.putCache(index.toString())); } } }); thread.start(); Thread thread2 = new Thread(new Runnable() { @Override public void run() { for(Integer index = 0;index <= 100;index ++){ System.out.println(cacheUtils.putCache(index.toString())); } } }); thread2.start(); } class CacheUtils { // 定义一把读写锁 ReadWriteLock readWriteLock = new ReentrantReadWriteLock(); public Object putCache(String key){ //进来时,先用读锁进行上锁 readWriteLock.readLock().lock(); Object value = null; try { value = cacheMap.get(key); if(value == null){ readWriteLock.readLock().unlock(); try { readWriteLock.writeLock().lock(); if(value == null){ //此处实际上是查询DB value = "huangkejie" + key; cacheMap.put(key, value); } } catch (Exception e) { e.printStackTrace(); }finally{ readWriteLock.writeLock().unlock(); } readWriteLock.readLock().lock(); } } catch (Exception error) { error.printStackTrace(); } finally{ readWriteLock.readLock().unlock(); } return value; } }}
感谢各位的阅读,以上就是"JAVA多线程用JDK1.5提供的读写锁实现高并发本地缓存工具类"的内容了,经过本文的学习后,相信大家对JAVA多线程用JDK1.5提供的读写锁实现高并发本地缓存工具类这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
工具
线程
缓存
学习
内容
实际
实际上
就是
思路
情况
文章
更多
知识
知识点
篇文章
跟着
问题
先用
实践
推送
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
长岛安卓软件开发公司
人工神经网络技术翻译的优点
数据库文件打开工具下载
地图软件开发前期
金蝶专业版数据库设置
数据库设计模式和实例
excel数据库路径不正确
网络安全比赛waf
开源数据库的上市公司
服务器虚拟化技术的安全性
上海市网络安全研究所
服务器配置都有哪些
工商银行软件开发中心杭州分公司
在线旅游软件开发
服务器机柜批发
轴承故障分析软件开发
乐天华网络技术工作怎么样
驱动人生服务器
贵州茅台软件开发
上海临床数据库设计
抚州信息技术网络安全研究院
济宁中小企业oa软件开发公司
厚得网络技术工作室
毕节软件开发者
方舟手机版本怎么开服务器
安徽家用软件开发要多少钱
成都软件开发信息
广东网络安全体系
慈溪手机软件开发有哪些
esi数据库的使用步骤吗