Java中Lock類放在try塊之內和之外有什么區別?


原文:https://www.zhihu.com/question/54613772

下面2個例子是使用Lock類的不同寫法,例子1是把lock()的方法調用寫在了try的塊之外,例子2是把lock()的調用在了try塊之內,JDK自帶的document都是按照例子1的寫法。不知道例子2的寫法會有什么問題?

例子1:

lock.lock(); try{ //do critical section code, which may throw exception } finally { lock.unlock(); }

 

例子2: 是否這種寫法下,某種情況的時候lock()方法會拋出異常,finally塊中unlock()調用就會拋出IllegalMonitorStateException?

try{ lock.lock(); //do critical section code, which may throw exception } finally { lock.unlock(); }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM