背景:我将配置文件保存在ArrayList中, 多线程并发读取配置.但是我每5分钟 会去扫描一下配置文件,如果修改了配置文件 就会重新加载新的配置文件. 但在多线程共享同一个资源下修改就会抛出Java.util.ConcurrentModificationException错误.这里有两种解决方法:
第一种方法是:加锁
缺点:性能差 优点:保证数据的实时一致性 修改后就可以让接下来的线程读取新的内容
第二种方法是:使用 Copy-On-Write容器
java 1.5提供的COW容器 包含 CopyOnWriteArrayList类和CopyOnWriteArraySet类,但是并没有提供CopyOnWriteMap的实现.
CopyOnWrite容器即写时复制的容器。通俗的理解是当我