同步锁——ReentrantLock
本博客系列是学习并发编程过程中的记录总结。由于文章比较多,写的时间也比较散,所以我整理了个目录贴(传送门),方便查阅。 并发编程系列博客传送门 Lock接口简介 热血小说 www.v1122.com 在JUC包下面有一个 java.util.concurrent.locks 包,这个包提供了一系列基础的锁工具,对传统的synchronizd、wait和notify等同步机制进行补充和增强。下面先来介绍下这个Lock接口。 Lock 接口可以视为 synchronized 的增强版,提供了更灵活的功能。相对于 synchronized , Lock 接口还提供了限时锁等待、锁中断和锁尝试等功能。该接口的定义如下 public interface Lock { // 尝试去获得锁 // 如果锁不可用,当前线程会变得不可用,直到获得锁为止。(中途会忽略中断) void lock(); // 尝试去获取锁,如果锁获取不到,线程将不可用 // 知道获取锁,或者被其他线程中断 // 线程在获取锁操作中,被其他线程中断,则会抛出InterruptedException异常,并且将中断标识清除。 void lockInterruptibly() throws InterruptedException; // 锁空闲时返回true,锁不空闲是返回false boolean tryLock(); //