java多线程学习10-使用ReentrantReadWriteLock的一个例子
来源:互联网 发布:java helloword 编辑:程序博客网 时间:2024/05/20 02:27
package com.cwj.test410;import java.util.HashMap;import java.util.Map;import java.util.concurrent.locks.ReentrantReadWriteLock;public class ReadWriteTest {private final static Map<String, Object> map = new HashMap<String, Object>();// 假设数据缓存private final static ReentrantReadWriteLock readWriteLock = new ReentrantReadWriteLock();public static void main(String[] args) {for (int i = 0; i < 1000000; i++) {System.out.println(readWrite(i + "hha"));}}public static Object readWrite(String id) {Object value = null;readWriteLock.readLock().lock();// 开启读锁try {value = map.get(id);if (value == null) {readWriteLock.readLock().unlock();readWriteLock.writeLock().lock();try {if (value == null) {value = "aaa";map.put(id, value);}} finally {readWriteLock.writeLock().unlock();}readWriteLock.readLock().lock();}} catch (Exception e) {} finally {readWriteLock.readLock().unlock();}return value;}}
0 0
- java多线程学习10-使用ReentrantReadWriteLock的一个例子
- java 多线程 ReentrantReadWriteLock 使用
- java多线程:ReentrantReadWriteLock读写锁的使用
- JAVA多线程学习之ReentrantReadWriteLock
- Java-ReentrantReadWriteLock的简单例子
- 一个学习java多线程的好例子
- JAVA多线程-Lock的使用(四)-读写锁ReentrantReadWriteLock
- Java多线程编程4--ReentrantReadWriteLock的使用(读写锁)
- java多线程学习9-显示锁ReentrantReadWriteLock
- java多线程学习之ReentrantReadWriteLock(一)
- java多线程学习之ReentrantReadWriteLock(二)
- 多线程锁的使用(ReentrantLock/Condition/ReentrantReadWriteLock)
- 一个java多线程的例子
- Java多线程之ReentrantReadWriteLock
- 【Java多线程】ReentrantReadWriteLock
- java学习--多线程发生死锁的一个例子
- Java:多线程,线程同步,同步锁(Lock)的使用(ReentrantLock、ReentrantReadWriteLock)
- java多线程学习笔记——读写锁(ReentrantReadWriteLock)
- C 语言数据类型意义解析
- Uva 1586-Molar mass(水题)
- 利用神经网络进行艺术风格迁移
- 设计模式之创建类型
- 好用的在线 java 编译网站(亲测)
- java多线程学习10-使用ReentrantReadWriteLock的一个例子
- day07_servlet
- Gradle for Android 第五篇( 多模块构建 )
- 优化 | InnoDB表一定要用自增列做主键
- K
- update(更新) 和 upgrade(升级)
- 多进程和多线程的练习笔记
- 某高科技公司java笔试题。
- ServletContext接口