Java SwingWorker是否具有类的相同实例?

Java SwingWorker是否具有类的相同实例?,java,swing,swingworker,opennlp,Java,Swing,Swingworker,Opennlp,我有几个Swingworker在运行,他们都需要OpenNLP进行计算。 OpenNLP需要一些时间进行初始化,所以我想知道这样做的最佳方式是什么? 我想在每个SwingWorker中启动一个OpenNLP实例是不明智的。 我可以初始化一个实例并将其传递给每个SwingWorker,但问题是我可以/希望只在SwingWorker中初始化OpenNLP,而不是之前 所以我想启动一个循环中的所有worker,在启动之后,它们(或者只是其中一个?)应该初始化OpenNLP的实例。当它准备好时,每个工人

我有几个Swingworker在运行,他们都需要OpenNLP进行计算。 OpenNLP需要一些时间进行初始化,所以我想知道这样做的最佳方式是什么? 我想在每个SwingWorker中启动一个OpenNLP实例是不明智的。 我可以初始化一个实例并将其传递给每个SwingWorker,但问题是我可以/希望只在SwingWorker中初始化OpenNLP,而不是之前

所以我想启动一个循环中的所有worker,在启动之后,它们(或者只是其中一个?)应该初始化OpenNLP的实例。当它准备好时,每个工人都应该使用它

我该怎么做


谢谢

让所有swing Worker使用一个工厂bean进行同步延迟初始化:

public class OpenNLPFactory {

  public synchronized OpenNLP getOpenNLP() {
      if(OpenNLP ready )  { 
          return it
      } else {
          build it and return it.
     }
  }

}

返回的OpenNLP对象本身当然必须是线程安全的…

让所有swing Worker使用一个执行同步延迟初始化的工厂bean:

public class OpenNLPFactory {

  public synchronized OpenNLP getOpenNLP() {
      if(OpenNLP ready )  { 
          return it
      } else {
          build it and return it.
     }
  }

}
返回的OpenNLP对象本身必须是线程安全的,当然