Java 我需要锁定依赖的私有方法吗?
假设我有一个publicJava 我需要锁定依赖的私有方法吗?,java,multithreading,locking,Java,Multithreading,Locking,假设我有一个publicmethod1调用一个privatemethod2,我使用锁来确保method1的线程安全,我需要在method2上使用锁吗method2仅通过method1调用如果method2仅由method1调用,则不必在method2中使用锁。method1中的一个锁就足够了 当一个线程类method1时,它将获得锁,调用method2,method2将不会由另一个线程并发执行,因为另一个线程应该先调用method1,在这种情况下,方法1将无法获得锁。你应该用问号(?)和句号()
method1
调用一个privatemethod2
,我使用锁来确保method1
的线程安全,我需要在method2
上使用锁吗method2
仅通过method1
调用如果method2
仅由method1
调用,则不必在method2
中使用锁。method1
中的一个锁就足够了
当一个线程类
method1
时,它将获得锁,调用method2
,method2
将不会由另一个线程并发执行,因为另一个线程应该先调用method1
,在这种情况下,方法1
将无法获得锁。你应该用问号(?
)和句号(
)标记问题,否则你的文章很难理解。假设采用同步方法,这是正确的。如果在不同的对象上执行同步,则可能不会。