これは以下のコードです。マルチスレッド環境でのアプリケーション全体にわたる変数の単一インスタンス
private static volatile Properties props = null;
private static volatile StanfordCoreNLP pipeline = null;
/**
*
* @return
*/
static {
if (props == null) {
props = new Properties();
props.setProperty("annotators", "tokenize, ssplit, parse, sentiment");
}
if (pipeline == null) {
pipeline = new StanfordCoreNLP(props);
}
}
私はマルチスレッド化されている私のアプリケーション全体の変数props
とpipeline
の単一のインスタンスを持っていると思います。
私のコードは正しいのですか、何か不足していますか?
ありがとうございました。
を参照してください。ヌルをチェックする必要はありません。静的ブロックが実行される前に初期化できるようなものではありません。 – Kayaman
これはどんなアプリケーションですか? – chrylis
@chrylis maven 20 executorサービスを使用してスレッドされました –