Lock类的总结

Lock

主要有4个方法:lock()、tryLock()、tryLock(long time, TimeUnit unit)和lockInterruptibly()。注意Lock不像synchronized一样在异常时自动释放锁,因此需要在finally中解锁——unlock()。

  • lock()
    该方法不能被中断,一旦陷入死锁就会陷入永久等待。
  • tryLock()
    用来尝试获取锁,如当前锁没有被其他线程占用,则获取成功返回true,否则返回false代表获取锁失败。
  • tryLock(long time, TimeUnit unit)
    同上,区别就在于设置超时时间。
/**
 * 用tryLock()方法避免死锁
 */
public class ReentrantLockByTryLock implements Runnable {
   

    private static final Lock reentrantLock1 =<
相关推荐
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付 39.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值