【发布时间】:2012-08-03 07:27:42
【问题描述】:
我使用并发 hashmap 来创建矩阵。它的指数范围为 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 并且我的程序正在崩溃。有没有其他方法可以使其线程安全。或者这是线程安全的,我在其他一些地方有错误。一件事是我的程序在单线程模式下不会崩溃。
【问题讨论】:
标签: java multithreading thread-safety concurrenthashmap