我有一个HashMap,其中维护了不同类型的读取器到它们各自的Java类实现的映射。我有一个支持32种读取器的多线程Java服务器。
您可以假设每30秒钟,针对每种读取器,1000个对象内部调用getReader()。
当我将刷新时间减少到20秒时,它开始偶尔为某些读取器抛出ConcurrentModificationException。这是否可以预料?
缩短时间周期会有什么不同?
您可以假设每30秒钟,针对每种读取器,1000个对象内部调用getReader()。
当我将刷新时间减少到20秒时,它开始偶尔为某些读取器抛出ConcurrentModificationException。这是否可以预料?
缩短时间周期会有什么不同?
class Mapper {
Map<String, Reader> READER = new HashMap<>();
public static Reader getReader(type) {
Reader reader = READER.computeIfAbsent(type, k -> new ReaderImpl());
}
}
READER
不应该大写,因为它不是一个常量。 - undefined