请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

高并发中如何选取容器

在类似“生产消费者”之类的问题中,如果需要对容器进行频繁的读和写操作,那么用什么容器较好
感觉在并发量不大的情况下synchronizedSortedMap 较为合适;并发量较大的话用ConcurrentHashMap或ConcurrentSkipListMap较为合适
vector和 CopyOnWriteXXX(CopeOnWriteArrayList 和CopeOnWriteSet) 一个不能保证线程的安全性,另一个对于写入操作的消耗过大而且也不能保证实时读取,故不考虑

正在回答 回答被采纳积分+3

1回答

Jimin 2019-02-11 10:42:19

你好,其实选择什么样的容器关键还是看使用的场景,线程安全(有些场景是不需要使用线程安全容器的)、顺序读取还是随机读取(很多都要考虑)、是否存在爆内存可能(如果有,要考虑拒绝策略及边界处理等)等,其实不同的容器都有明显自己的特性,熟练掌握了相关容器的特性,根据相关场景去选择相关的容器就可以了。这里,额外给你补充一些生产消费模型的容器:基于BlockingQueue的一些子类,他们的特性也可以多了解一下

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信