# 没获取到锁时,会尝试重新获取锁(使用了Semaphore,AQS队列)
lock() -锁的过期时间:使用默认过期时间-30s
lock(long leaseTime, TimeUnit unit) - 指定锁的过期时间 leaseTime
# 只会获取一次锁,获取失败则不再获取并返回false
tryLock(); - 锁的过期时间:使用默认过期时间-30s
# 没获取到锁时,在指定的重试时间内,会尝试重新获取锁
tryLock(long time, TimeUnit unit)
- 获取锁的重试时间 time
- 锁的过期时间:使用默认过期时间-30s
# 没获取到锁时,在指定的重试时间内,会尝试重新获取锁
tryLock(long waitTime, long leaseTime, TimeUnit unit)
- 获取锁的重试时间 waitTime
- 指定锁的过期时间 leaseTime
本文详细介绍了在使用Semaphore及AQS队列实现锁机制时的不同方式及其特性。包括lock()方法实现默认30秒过期时间的锁、tryLock()系列方法用于尝试获取锁并在未获取到时进行重试等。深入探讨了这些方法如何帮助开发者更灵活地控制并发访问。
1022

被折叠的 条评论
为什么被折叠?



