是否有任何好的用例支持synchronized关键字的隐式锁定?
答案 0 :(得分:1)
通常需要考虑的是synchronized
锁定this
(类的实例取决于它是否是静态方法)。这意味着如果另一个类可以访问具有synchronized
的实例,则它可以锁定同一个对象。
因此,通常认为最佳做法是明确同步/锁定private final
字段。
答案 1 :(得分:1)
如果您不需要tryLock
,lockInterruptibly
或通过锁定对象提供的任何其他专门方法,那么使用synchronized
更安全,更易于使用:锁定,你需要遵循一个特定的解锁模式与finally块,如果失败,最终可能会锁定永远不会释放。
如果你确实需要这些方法,那么你就没有选择......