From a559e1c7b7501a89205ecdeed4dfbe7f59401486 Mon Sep 17 00:00:00 2001 From: piaolingxue Date: Thu, 27 Feb 2014 18:10:43 +0800 Subject: [PATCH] solve multi thread load dic problem --- .../com/huaban/analysis/jieba/WordDictionary.java | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/huaban/analysis/jieba/WordDictionary.java b/src/main/java/com/huaban/analysis/jieba/WordDictionary.java index bfda3eb..30cf790 100644 --- a/src/main/java/com/huaban/analysis/jieba/WordDictionary.java +++ b/src/main/java/com/huaban/analysis/jieba/WordDictionary.java @@ -14,10 +14,14 @@ public class WordDictionary { - private static WordDictionary singleInstance; + private static WordDictionary singleInstance = new WordDictionary(); private static final String MAIN_DICT = "/dict.txt"; private static String USER_DICT_SUFFIX = ".dict"; + static { + singleInstance.loadDict(); + } + public final TrieNode trie = new TrieNode(); public final Map freqs = new HashMap(); private Double minFreq = Double.MAX_VALUE; @@ -30,12 +34,6 @@ private WordDictionary() { public static WordDictionary getInstance() { - if (singleInstance == null) { - synchronized (singleInstance) { - singleInstance = new WordDictionary(); - singleInstance.loadDict(); - } - } return singleInstance; }