是否在多个类之间同步线程安全

时间:2015-02-17 19:27:08

标签: java multithreading singleton

我有一个多线程程序。我有2个具有以下结构的单例类:

public class A {
   public void synchronized method1() {
      B.getInstance().method2();
   }
}


public class B {
   public void method2() {
      doSomething();
   }
}

AB都是单例,method2未同步。我想知道method1是否是线程安全的?我的意思是当一个帖子转到method2method1时,其他帖子可以输入method1吗?

1 个答案:

答案 0 :(得分:1)

如果一个帖子进入method1,那么继续method2其他任何线程都无法进入method1,直到第一个帖子从method2method1返回

但请记住,多个线程可以同时执行method2(尽管最多只有一个线程可以来自method1)。

那么,method1线程安全吗?是的,但仅当method2也是线程安全的时候。