Java多线程编程概述
Java多线程的安全问题
Java多线程同步
Java多线程间的通信
Java线程Lock
Java多线程管理
保障线程安全的设计技术
Java锁的优化及注意事项
Java多线程集合
【Java多线程】单例模式与多线程

Lock锁的常用方法

int getHoldCount() 返回当前线程调用lock()方法的次数。

int getQueueLength() 返回正等待获得锁的线程预估数。

int getWaitQueueLength(Condition condition) 返回与Condition条件相关的等待的线程预估数。

boolean hasQueuedThread(Thread thread) 查询参数指定的线程是否在等待获得锁。

boolean hasQueuedThreads() 查询是否还有线程在等待获得该锁。

boolean hasWaiters(Condition condition) 查询是否有线程正在等待指定的Condition条件。

boolean isFair() 判断是否为公平锁。

boolean isHeldByCurrentThread() 判断当前线程是否持有该锁。

boolean isLocked() 查询当前锁是否被线程持有。

全部教程