CopyOnWriteArrayList是怎么保证线程安全的?
答案:
使用ReentrantLock加锁,保证操作过程中线程安全。
使用volatile关键字修饰数组,保证当前线程对数组对象重新赋值后,其他线程可以及时感知到。