gpt4 book ai didi

具有相同类实例的Java SwingWorker?

转载 作者:行者123 更新时间:2023-11-29 03:31:52 25 4
gpt4 key购买 nike

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

所以我想在一个循环中启动所有 Worker,并且在启动后他们(或者只是其中一个?)应该初始化 OpenNLP 的实例。准备就绪后,每个 Worker 都应该使用它。

我该怎么做?

谢谢!

最佳答案

让所有的 swing worker 使用一个单独的工厂 bean 进行同步惰性初始化:

public class OpenNLPFactory {

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

}

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

关于具有相同类实例的Java SwingWorker?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17732474/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com