Java8-Lock-No.05
来源:互联网 发布:c语言define函数 编辑:程序博客网 时间:2024/06/07 10:24
import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.locks.StampedLock;public class Lock5 { public static void main(String[] args) { ExecutorService executor = Executors.newFixedThreadPool(2); StampedLock lock = new StampedLock(); executor.submit(() -> { long stamp = lock.tryOptimisticRead(); try { System.out.println("Optimistic Lock Valid: " + lock.validate(stamp)); ConcurrentUtils.sleep(1); System.out.println("Optimistic Lock Valid: " + lock.validate(stamp)); ConcurrentUtils.sleep(2); System.out.println("Optimistic Lock Valid: " + lock.validate(stamp)); } finally { lock.unlock(stamp); } }); executor.submit(() -> { long stamp = lock.writeLock(); try { System.out.println("Write Lock acquired"); ConcurrentUtils.sleep(2); } finally { lock.unlock(stamp); System.out.println("Write done"); } }); ConcurrentUtils.stop(executor); }}
阅读全文
1 0
- Java8-Lock-No.05
- Java8-Lock-No.01
- Java8-Lock-No.02
- Java8-Lock-No.03
- Java8-Lock-No.04
- Java8-Lock-No.06
- Java8-Stream-No.05
- Java8-Lambda-No.05
- Java8-Stream-No.01
- Java8-Stream-No.02
- Java8-Stream-No.03
- Java8-Stream-No.04
- Java8-Stream-No.06
- Java8-Stream-No.07
- Java8-Stream-No.08
- Java8-Stream-No.09
- Java8-Stream-No.10
- Java8-Stream-No.11
- 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)
- Java8-Thread-No.01
- WPF--自定义控件的动态添加以及BackgroundWorker的使用
- java需要掌握的问题