实际的业务需求可能导致无法在所有操作中以相同的顺序获取锁。此时,可以使用 Lock 类的 tryLock() 方法,该方法返回一个布尔值以表明加锁是否成功。在一个操作中,使用 tryLock() 方法去获取所有锁,如果有一个获取不到,就必须释放所有已经获取到的锁,然后重新执行该操作。
Lock
tryLock()