Lock作用及其使用

Lock

虽然在Java中可以通过synchroinzed关键字来加锁限定线程间的互斥,保持线程同步实现线程安全。除了synchroinzed之外,JDK5之后还提供了更高级的锁,Lock。

相关API:

Lock.getHoldCount():查询当前线程保持这个锁的个数,也就是调用lock()的线程个数。
Lock.getQueueLength():查询当前处于就绪状态,正在等待获取此锁的线程个数。
Lock.getWaitQueueLength(condition):查询指定个condition中,处于WAITING状态的线程个数。
Lock.hasQueuedThread(thread):查询指定线程是否正在等待获取此锁。
Lock.hasQueuedThreads():查询是否有线程正在等待获取此锁。
Lock.hasWaiters(condition):查询指定线程是否正在等待与此锁相关的condition条件。
isFair():判断当前锁是否是公平锁。
isHeldByCurrentThread():查询当前线程是否保留此锁。
isLocked():查询此锁定是否由任意线程持有。
lockI

猜你喜欢

转载自blog.csdn.net/CSDN_SAVIOR/article/details/126523837