Java多线程之同步容器与并发容器

同步容器

Vector

Hashtable

Collections.synchronziedXX

并发容器

ConcurrentMap

基於Hashtable,

段Segement,最大16個

把粒度分細,

每個段有自己的鎖

共享變量用volatile關鍵字,第一時間獲得修改數據。從主內存讀取,不從工作內存讀取

CopyonWrite容器

JDK有兩種COW容器
CopyOnWriteArrayList
CopyOnWriteArraySet

CopyonWrite容器,寫時複製容器。當我們往一個容器加元素時,不直接想當前容器添加,而是先複製當前容器,得出一個新容器,再往新容器加元素,加完後,再將原來容器的引用,指向新容器

這樣的好處是,可以對CopyOnWrite容器進行并发讀,而不需要加鎖,因為當前容器不會添加任何元素

這是一種讀寫分離的思想,讀和寫在不同的容器

適合讀多寫少場景

小結

并发容器提升了同步容器的性能,但不是说,并发容器就能解决所有并发问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值