如何解决Java 8中针对一个编写者和更多阅读者线程的ConcurrentHashMap实现
我有一个parallelHashMap,其中我的一个线程正在连续写入该映射,同时有300多个线程正在从该映射中读取值。
问题:
- 在这种多线程方案中,并发HashMap数据结构是最好的吗?如果不是,那么哪一个更快,并会带来更好的性能?
- 要实现这种情况,有没有比任何设计模式更好的方法了。
- 在系统中运行这些线程数是个好主意吗?
- 是否还有其他声明consurrentHashMap的方法,以便获得最佳性能。
示例:我们可以如下声明具有不同参数的map。目前,我正在使用最后一个选项。
1. Map<String,Integer> map = new ConcurrentHashMap<String,Integer>(initialCapacity,loadFactor,concurrencyLevel);
2. Map<String,loadFactor);
3. Map<String,Integer>();
注意:
- 映射的大小等于读取线程数。因此,如果从我的地图读取300个线程,则地图的大小为300(包含300个键值对值)。
- 具有32 GB RAM的64位操作系统。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。