マトリックスの作成には同時ハッシュマップを使用しました。インデックスの範囲は100kです。40個のスレッドを作成しました。各スレッドは、マトリックスのこれらの要素にアクセスし、それに変更して、次のようにマトリックスに書き戻します。
ConcurrentHashMap<Integer, ArrayList<Double>> matrix =
new ConcurrentHashMap<Integer, ArrayList<Double>>(25);
for (Entry(Integer,ArrayList<Double>)) entry: matrix.entrySet())
upDateEntriesOfValue(entry.getValue());
スレッドセーフではありませんでした。値がnullとして返されることが多く、プログラムがクラッシュします。スレッドセーフにする他の方法はありますか?またはこれはスレッドセーフであり、他の場所にバグがあります。1つは、プログラムがシングルスレッドモードでクラッシュしないことです。