在多个 类 之间同步线程安全吗
Is synchronize thread safe between multiple classes
我有一个多线程程序。我有 2 个具有以下结构的单例 class:
public class A {
public void synchronized method1() {
B.getInstance().method2();
}
}
public class B {
public void method2() {
doSomething();
}
}
class A
和B
都是单例,method2
不同步。我想知道 method1
是否线程安全?我的意思是当一个线程通过 method1
进入 method2
时,其他线程可以进入 method1
吗?
如果一个线程进入 method1
然后继续 method2
在第一个线程从 method2
和 [=10] 返回之前没有其他线程可以进入 method1
=].
但请记住,多个线程可以同时执行 method2
(尽管最多一个线程可以来自 method1
)。
那么,method1
线程安全吗?是的,但前提是 method2
也是线程安全的。
我有一个多线程程序。我有 2 个具有以下结构的单例 class:
public class A {
public void synchronized method1() {
B.getInstance().method2();
}
}
public class B {
public void method2() {
doSomething();
}
}
class A
和B
都是单例,method2
不同步。我想知道 method1
是否线程安全?我的意思是当一个线程通过 method1
进入 method2
时,其他线程可以进入 method1
吗?
如果一个线程进入 method1
然后继续 method2
在第一个线程从 method2
和 [=10] 返回之前没有其他线程可以进入 method1
=].
但请记住,多个线程可以同时执行 method2
(尽管最多一个线程可以来自 method1
)。
那么,method1
线程安全吗?是的,但前提是 method2
也是线程安全的。