Java8-Lock-No.04
来源:互联网 发布:c语言define函数 编辑:程序博客网 时间:2024/06/07 12:25
import java.util.HashMap;import java.util.Map;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.locks.StampedLock;public class Lock4 { public static void main(String[] args) { ExecutorService executor = Executors.newFixedThreadPool(2); Map<String, String> map = new HashMap<>(); StampedLock lock = new StampedLock(); executor.submit(() -> { long stamp = lock.writeLock(); try { ConcurrentUtils.sleep(1); map.put("foo", "bar"); } finally { lock.unlockWrite(stamp); } }); Runnable readTask = () -> { long stamp = lock.readLock(); try { System.out.println(map.get("foo")); ConcurrentUtils.sleep(1); } finally { lock.unlockRead(stamp); } }; executor.submit(readTask); executor.submit(readTask); ConcurrentUtils.stop(executor); }}
阅读全文
1 0
- Java8-Lock-No.04
- Java8-Lock-No.01
- Java8-Lock-No.02
- Java8-Lock-No.03
- Java8-Lock-No.05
- Java8-Lock-No.06
- Java8-Stream-No.04
- Java8-Lambda-No.04
- Java8-Stream-No.01
- Java8-Stream-No.02
- Java8-Stream-No.03
- Java8-Stream-No.05
- Java8-Stream-No.06
- Java8-Stream-No.07
- Java8-Stream-No.08
- Java8-Stream-No.09
- Java8-Stream-No.10
- Java8-Stream-No.11
- Markdown编辑表格时如何输入竖线('|', pipe,vertical bar)
- linux下安装使用libuuid
- S120
- java中toString详解
- Google 发布 Android 性能优化典范
- Java8-Lock-No.04
- PAT 1011. A+B和C
- Android layout属性大全
- Java8-Lock-No.05
- 整流器
- 菜鸟教程选择排序算法c++版
- javascript类型转换
- Java8-Lock-No.06
- java--集合--ConcurrentHashMap(1.8)