一、裝飾器模式
- Collections.synchronizedXXX(集合),返回該集合的同步集合。
- 缺點(diǎn):并發(fā)性不高,可能導(dǎo)致遍歷操作是線程不安全的。
二、并發(fā)集合

并發(fā)集合.png
- 并發(fā)集合的內(nèi)部實(shí)現(xiàn)往往借助于CAS操作或者細(xì)粒度鎖。
- 遍歷方式有快照和準(zhǔn)實(shí)時(shí),前者Iterator不支持remove(),后者支持,且兩者在多個(gè)線程對(duì)同一集合進(jìn)行遍歷時(shí),不適合共享同一個(gè)Iterator實(shí)例。
三、無狀態(tài)對(duì)象
無狀態(tài)變量不包含任何實(shí)例變量和可更新的狀態(tài)變量,具有固有的線程安全性。調(diào)用其任意方法都需要加鎖,但其自身方法的實(shí)現(xiàn)可能需要加鎖,Servlet通常被設(shè)計(jì)為無狀態(tài)變量。
四、不可變對(duì)象
類本身以及所有的字段都用final修飾,具有固有的線程安全性。
五、線程特有對(duì)象
每個(gè)線程僅創(chuàng)建并訪問各自的線程特有對(duì)象實(shí)例,具有固有的線程安全性。