CopyOnWriteArrayList 也是實現List接口
他是在concurrent 包里面,所以他是線程安全的,其他的基本和ArrayList很想。
他線程安全是用ReentrantLock 實現的,他內部有一個ReentrantLock對象,然后在增刪改的時候都操作這個鎖對象,所以他在多線程里面是安全的、
之前還有1個Vector 他的增刪改也加了synchronized,但是這個只不過是方法鎖。他只能保證在多線程的時候,調用通一個方法有原子性,但是比如一個線程調用add,一個線程調用remove,這個就不安全了。
特性
1.add 方法,每次添加元素都復制一個新的數組出來,然后在復給成員變量array,
2.get 方法,獲取
轉載于:https://www.cnblogs.com/tangwangming/p/8795587.html