有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

静态内部类在另一个java类中是线程安全的吗?

对于较小的助手实用程序类的集合,我创建了一个通用的class MyUtils

// MyUtils.java
public final class MyUtils
{
  public static class Helper1 {};
  public static class Helper2 {};
//...
}

来自MyUtils内部的这个帮助程序类将在包的其他文件中使用:

// MyClass1.java
public class MyClass1
{
  private MyUtils.Helper1 help1 = new MyUtils.Helper1();
  public void method ()
  {
    private MyUtils.Helper2 help2 = new MyUtils.Helper2();
  }
}

为了让它们可以访问,我将它们static放在MyUtils内部(它自己没有任何数据/函数成员)。我的代码在创建^{之前是线程安全的

我担心的是,通过使这些innerstatic在文件中存在多个实例时,它们是否仍然是线程安全的?或者他们有什么不良影响我是不是因为让他们static而错过了

编辑:我没有触及helper类中的任何共享变量。我唯一担心的是static类的实例是否是线程安全的(因为它们是static


共 (0) 个答案