Java8-Lock-No.06
来源:互联网 发布:c语言define函数 编辑:程序博客网 时间:2024/06/07 19:36
import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.locks.StampedLock;public class Lock6 { private static int count = 0; public static void main(String[] args) { ExecutorService executor = Executors.newFixedThreadPool(2); StampedLock lock = new StampedLock(); executor.submit(() -> { long stamp = lock.readLock(); try { if (count == 0) { stamp = lock.tryConvertToWriteLock(stamp); if (stamp == 0L) { System.out.println("Could not convert to write lock"); stamp = lock.writeLock(); } count = 23; } System.out.println(count); } finally { lock.unlock(stamp); } }); ConcurrentUtils.stop(executor); }}
阅读全文
1 0
- Java8-Lock-No.06
- Java8-Lock-No.01
- Java8-Lock-No.02
- Java8-Lock-No.03
- Java8-Lock-No.04
- Java8-Lock-No.05
- Java8-Stream-No.06
- Java8-Stream-No.01
- Java8-Stream-No.02
- Java8-Stream-No.03
- Java8-Stream-No.04
- Java8-Stream-No.05
- Java8-Stream-No.07
- Java8-Stream-No.08
- Java8-Stream-No.09
- Java8-Stream-No.10
- Java8-Stream-No.11
- Java8-Stream-No.12
- Android layout属性大全
- Java8-Lock-No.05
- 整流器
- 菜鸟教程选择排序算法c++版
- javascript类型转换
- Java8-Lock-No.06
- java--集合--ConcurrentHashMap(1.8)
- Java8-Thread-No.01
- WPF--自定义控件的动态添加以及BackgroundWorker的使用
- java需要掌握的问题
- 进程调度API之add_wait_queue/remove_wait_queue
- 埃及对数学的贡献—数学起源(一)
- 【笔记】HTML标签汇总
- 基于错切变换的图像旋转