【发布时间】:2020-06-29 17:04:08
【问题描述】:
如果我有两个或多个同步方法,那么所有同步方法的锁定键是否相同?换句话说,如果一个线程处于同步方法中,那么如果任何其他线程想要访问某个 other 同步方法,那么即使方法不同,也必须等待第一个线程结束?
【问题讨论】:
-
是的,只要在同一个对象上同步就可以了
-
关于 SO 的类似问题太多了,甚至 SO 自己的搜索也单独找到了其中两个并将它们放在“相关”侧边栏中。
-
提示:不要考虑同步方法。方法不需要保护。需要保护的是方法操作的数据。如果您有两个或多个可以从不同线程调用的方法来操作相同的数据,那么这些方法绝对应该锁定同一个锁。
标签: java concurrency synchronized