总结
- 读写分离
- 读写同时进行的时候,读到的是旧数据
- 写(添加、删除)的时候先把原来的容器数据拷贝一份,往拷贝出来的容器中写数据,然后再把原来的引用指向新的容器数据
代码
读
public E get(int index) {
return (E) elements[index];
}
写(同步)
添加:
public synchronized boolean add(E e) {
Object[] newElements = new Object[elements.length + 1];
System.arraycopy(elements, 0, newElements, 0