黑马程序员——Java基础---线程的另一个总结(6)--线程读写锁,缓存小例子
来源:互联网 发布:淘宝上什么零食好吃 编辑:程序博客网 时间:2024/06/05 04:28
读写锁是,加了读锁,读数据可以随意读取,加了写锁的话,在写锁未释放之前,其他线程不可以进行操作
下例子:
缓存技术的示例
当chtch中的value中没有值,就往里边添加数据,如果有责不添加
在读写过程中,如果是读数据,可以随意读取,如果写数据的话只允许第一个写
利用读写所处理再好不过了
public class CatchDemoTest {private ReadWriteLock rwl = new ReentrantReadWriteLock();Map<String,Object> chatch = new HashMap<String, Object>();public Object getValue(String key){Object value = null;rwl.readLock().lock();try{value = chatch.get(key);if(value==null){rwl.readLock().unlock();rwl.writeLock().lock();try{if(value==null){value = "aa";}}finally{rwl.writeLock().unlock();}}}finally{rwl.readLock().unlock();}return value;}}
0 0
- 黑马程序员——Java基础---线程的另一个总结(6)--线程读写锁,缓存小例子
- 黑马程序员——Java基础---线程的另一个总结(3)--互斥,线程锁
- 黑马程序员——Java基础---线程的另一个总结(5)--线程池,线程定时器
- 黑马程序员——Java基础---线程的另一个总结(8)--Semaphere同步工具,控制线程可用线程
- 黑马程序员——Java基础---线程的另一个总结(1)--基本创建方法
- 黑马程序员——Java基础---线程的另一个总结(2)--定时器
- 黑马程序员——Java基础---线程的另一个总结(7)--condition,await
- 黑马程序员——Java基础---线程的另一个总结(9)--其他同步工具
- 黑马程序员——Java基础---线程的另一个总结(10)--练习,空中网面试题总结
- 黑马程序员——Java基础---线程的另一个总结(4)--线程通信(互斥),线程范围的共享变量
- 黑马程序员—— 线程基础总结
- 黑马程序员——java基础:线程
- 黑马程序员——Java基础--线程
- 黑马程序员—JAVA基础之多线程
- 黑马程序员-Java基础之多线程总结
- 黑马程序员—java之多线程总结
- 黑马程序员——JAVA基础之多线程的安全问题
- 黑马程序员——java基础拾遗之多线程(二) 线程同步、线程通信
- 基于文本的简易k->v数据库改进版
- failed to sync branch You might need to open a shell and debug the state of this repo.
- SEOer们在事业发展中所要了解的6个非常重要的观点
- Android中Matrix的相关变换
- MD5加密
- 黑马程序员——Java基础---线程的另一个总结(6)--线程读写锁,缓存小例子
- Oracle ORA-01033: ORACLE initialization or shutdown in progress 错误解决办法
- Ajax实现用户注册功能
- c#课程设计——猜猜看
- 4. 对象与类
- 黑马程序员-面向对象
- 优化实战案例:被K(拔毛)网站成功恢复案例
- 计算机网络基础知识整理(三)
- 二叉树遍历