【发布时间】:2021-06-27 14:41:44
【问题描述】:
我试图了解 Java 中同步和锁之间的区别,但我发现了另一个我仍然不完全理解的问题: What is the equivalent of synchronized( object ) in Reentrant lock in Java?
特别是我不明白为什么 lock.lock() 被写在了 try 块之外。
据我了解,锁是在方法体中使用的,lock.lock() 被写为 try 块中的第一件事,以确保一次只有一个线程可以执行该 try 块中的内容,直到lock 是通过 lock.unlock() 调用解锁的,它写在 try 块之后的 finally 块中。
但是如果 lock.lock() 在方法体之外和块之外被调用,那是什么意思呢?
【问题讨论】:
标签: java synchronization locks