【发布时间】:2013-04-03 07:58:51
【问题描述】:
我经常使用CopyOnWriteArrayList。当
- 线程执行大量读取
- 线程执行少量写入
不过,我会在什么时候使用Collections.synchronizedList()
- 线程执行少量读取
- 线程执行大量写入
这是因为根据CopyOnWriteArrayList Java Doc
ArrayList 的线程安全变体,其中所有可变操作 (添加、设置等)是通过制作新的副本来实现的 底层数组。
这通常太昂贵了,...
当谈到ConcurrentHashMap 时,我想知道在选择ConcurrentHashMap 而不是Collections.synchronizedMap() 时我是否仍然可以应用相同的逻辑?
ConcurrentHashMap 是否会在我每次执行写操作时重新创建底层数据结构的副本?如果写操作多于读操作,它的性能会比 Collections.synchronizedMap 差吗?
【问题讨论】:
标签: java