开发者社区 问答 正文

lock 方法在 try 代码块之内,会造成什么问题?

lock 方法在 try 代码块之内,会造成什么问题?

展开
收起
不语奈何 2021-03-02 18:56:13 785 分享 版权
1 条回答
写回答
取消 提交回答
  • 精于基础,广于工具,熟于业务。

    如果 lock 方法在 try 代码块之内,可能由于其它方法抛出异常,导致在 finally 代码块中,unlock对未加锁的对象解锁,它会调用 AQS 的 tryRelease 方法(取决于具体实现类),抛出IllegalMonitorStateException 异常。

    2021-03-02 18:56:38
    赞同 展开评论
问答地址: