海南快三破解器app—官方网址22270.COM代码伊成2015-12-17 15:53:25
原
必中一分快三—官方网址22270.COM_java多线程类ReentrantReadWriteLock读写锁实例代码及内存缓存工具类
主要分享两个代码
1.ReentrantReadWriteLock 读写demo
2.利用ReentrantReadWriteLock写一个内存工具类
ReentrantReadWriteLock 读写demo
代码片段如下:
private Object data = null;//模拟数据 private ReentrantReadWriteLock RWL = new ReentrantReadWriteLock();// 创建一个读写锁对象 //读取数据方法 public void get(){ RWL.readLock().lock();//上读锁 System.out.println(Thread.currentThread().getName()+" 这个时候只能读数据咯...."); try { Thread.sleep((long)new Random().nextInt(10000)); } catch (Exception e) { // TODO: handle exception } System.out.println(Thread.currentThread().getName()+" 发现可读数据--->:"+data); RWL.readLock().unlock();//释放读锁 }
运行结果图,如下:
写在后面
ReentrantReadWriteLock会使用两把锁来解决问题,一个读锁,一个写锁
线程进入读锁的前提条件:
没有其他线程的写锁,
没有写请求或者有写请求,但调用线程和持有锁的线程是同一个
线程进入写锁的前提条件:
没有其他线程的读锁
没有其他线程的写锁
读写锁:分为读锁和写锁,多个读锁不互斥,读锁与写锁互斥,这是由jvm自己控制的。
如果你的代码只读数据,可以很多人同时读,但不能同时写,那就上读锁,
必中一分快三—官方网址22270.COM如果你的代码修改数据,只能有一个人在写,且不能同时读取,那就上写锁。总之,读的时候上读锁,写的时候上写锁!
----------------------------------------------- 黄金分割线 -----------------------------------------------------
海南快三破解器app—官方网址22270.COM后根据以上代码,整合一个 内存缓存工具类
代码不做解释了,里面都有注释,有需要的牛牛,快来下载吧!
代码片段如下:
// 缓存 private Map<K, V> cache = new HashMap<K, V>(); private final ReentrantReadWriteLock RL = new ReentrantReadWriteLock(); private final Lock R = RL.readLock(); private final Lock W = RL.writeLock(); /** * 根据key获取缓存信息 * * @param key * * @return */ public V get(K key){ R.lock(); try{ return cache.get(key); } finally { R.unlock(); } } /** * 设置缓存 * * @param key * @param value */ public void put(K key, V value){ W.lock(); try{ cache.put(key, value); } finally { W.unlock(); } }
猜你喜欢
- 必中一分快三—官方网址22270.COM_java多线程计数器
- java线程池同步处理实例
- 【Java多线程】写入同一文件,自定义线程池与线程回收利用
- 必中一分快三—官方网址22270.COM_java多线程下载文件程序打包,有下载进度
- 必中一分快三—官方网址22270.COM_java多线程下载文件源码下载
- 必中一分快三—官方网址22270.COM_java多线程下载文件神器,有下载进度
- 2000万开房数据必中一分快三—官方网址22270.COM_java多线程写入同一文件
- 必中一分快三—官方网址22270.COM_java多线程ReentrantLock、sync、ReentrantReadWriteLock性能比较
- 必中一分快三—官方网址22270.COM_java多线程编程实例教程源代码学习(原创)
- 必中一分快三—官方网址22270.COM_java多线程邮件群发代码
- 必中一分快三—官方网址22270.COM_java多线程编程代码学习实例
- java io+socket+多线程模拟video视频播放康美之恋特效源代码下载

请下载代码后再发表评论
文件名:demo.zip,文件大小:8.582K下载
- /
- /demo
- /demo/.classpath
- /demo/.project
- /demo/.settings
- /demo/.settings/org.eclipse.jdt.core.prefs
- /demo/bin
- /demo/bin/com
- /demo/bin/com/zuidaima
- /demo/bin/com/zuidaima/thread
- /demo/bin/com/zuidaima/thread/Demo1.class
- /demo/bin/com/zuidaima/thread/MemoryCacheUtil.class
- /demo/bin/com/zuidaima/thread/ReadWriteLockDemo$1.class
- /demo/bin/com/zuidaima/thread/ReadWriteLockDemo$2.class
- /demo/bin/com/zuidaima/thread/ReadWriteLockDemo.class
- /demo/bin/com/zuidaima/thread
- /demo/bin/com/zuidaima
- /demo/bin/com
- /demo/src
- /demo/src/com
- /demo/src/com/zuidaima
- /demo/src/com/zuidaima/thread
- /demo/src/com/zuidaima
- /demo/src/com
- /demo
- 证HTML5+jQuery制作温馨浪漫爱心表白动画特效
- 精Apache Shiro+SpringMVC+Hibernate Search+Hibernate+Bootstrap企业信息管理系统基础框架搭建整合实例代码教程
- 证精spring MVC+easyUI+mybatis开发网站后台管理系统源代码下载
- 精html网站内容管理系统后台模板源代码下载,花钱买的模板。
- 证一套EASYUI的经典后台管理模板
- 原精spring mvc+spring+mybatis+shiro+easyui整合开发后台用户权限管理系统
- 证精java开源CMS管理系统jeetemp
- 一款漂亮的轻量级bootstrap中文后台管理系统模板ace
- 证jsp+servlet+mysql员工管理系统源代码下载
- js框架jquery实现幸运大转盘抽奖程序代码,兼容多种浏览器
- 证HTML5音乐播放器效果非常漂亮
- 证精SpringBoot开发非常美观的java博客系统(包含后台管理功能)
- 证精java开源CMS管理系统jeetemp
- java牛官方想开发一个全部开源的系统
- 证精企业人力资源管理项目SSH+EXTJS+MySQL整合开发
- 精基于springMVC+springSecurity3.x+Mybaits3.x的权限系统,,开放源码,支持开源
- 证精spring MVC+easyUI+mybatis开发网站后台管理系统源代码下载
- 证精springmvc+hibernate+jbpm开发OA自动化办公后台管理系统源码下载
- 【猪猪-前端】基于HTML5 Bootstrap搭建的后台模板charisma,分页,模糊查询已经全部JS实现,无需编码,嵌入数据即可开发,内置8款皮肤,欧美风格,非常好用!
- 精Apache Shiro+SpringMVC+Hibernate Search+Hibernate+Bootstrap企业信息管理系统基础框架搭建整合实例代码教程
- 证精struts2.3+hibernate4.1+spring3.2+EasyUI1.36整合实现的java后台管理系统
- 证HTML5+jQuery制作温馨浪漫爱心表白动画特效
- 证精spring+spring mvc+mybatis+bootstrap框架整合搭建ssm完整项目
- 原证精ssh框架开发的个人博客系统源码下载,基于mysql数据库
- 证html软件卸载页面模板
- 原证Spring Boot简单而又强大的AOP异步日志注解系统
- 证精spring+spring mvc+spring jpa+velocity开发b2c多用户商城项目,功能比较完善,有后台管理系统
- 证3D动态登录页面特效
- 原spring boot整合Security实现单点登录,支付宝支付demo(沙盒模式)。
- 原证精java servlet+mysql开发的学校官网+教务系统+图书馆系统,功能完善,供参考学习
- 证java swing实现超级简单,海南快三破解器app—官方网址22270.COM基础的一个俄罗斯方块和贪吃蛇
- 证精ssm+jsp开发java学生信息与选课系统(优化界面)
- 原证纯jsp开发java web简单电影网站项目
- 原证基于java swing的连连看小游戏
- 原证SSM+JQ+Ajax实现学生信息管理系统
- python开发飞机大战游戏


aisuzhen LV109月17日
springbootzxx LV47月26日
倪卟懂 LV165月7日
afeng992211 LV142018年10月12日
tyd888 LV102018年9月27日
superman_0001 LV52018年7月18日
CLATZJ LV192018年3月25日
der2030 LV172018年1月23日
15735184511 LV72018年1月4日
dulante LV42017年10月25日

lris_luanling LV9前天
wfqdxdx LV612月5日
Just_Kidding LV111月22日
zhoujie123800 LV511月19日
rad911 LV1111月12日
jaonsang LV2011月4日
jasonborn LV29月25日
4703413539月23日
暂无贡献等级
aisuzhen LV109月17日
a30575795849月9日
暂无贡献等级