首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >ComputeIfAbsent抛出concurrentModificationException

ComputeIfAbsent抛出concurrentModificationException
EN

Stack Overflow用户
提问于 2019-06-04 02:55:00
回答 2查看 176关注 0票数 1

我有一个Hashmap,我在其中维护不同类型的读取器到它们各自的java类实现的映射。我有一个支持32种读卡器的多线程Java服务器。

您可以假设每隔30秒,getReader()就会被每种类型的读取器的1000个对象内部调用。

每当我将刷新时间减少到20秒时,它就开始零星地向一些读取器抛出ConcurrentModificationException。这是意料之中的吗?

减少时间段有什么不同?

代码语言:javascript
复制
class Mapper {
    Map<String, Reader> READER = new HashMap<>();

    public static Reader getReader(type) {
        Reader reader = READER.computeIfAbsent(type, k -> new ReaderImpl());
    }
}
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56433061

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档