java多线程同时向一个数组arraylist添加元素,遍历这个集合

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java多线程同时向一个数组arraylist添加元素,遍历这个集合相关的知识,希望对你有一定的参考价值。

ArrayList集合是不行的,如果多线程同时添加元素,有可能产生线程安全问题,程序也有可能报错。
例如:一个线程正准备往进去写数据,突然切到另一个线程它先写了进入,在切回来这个线程并不知道这个位置已经写入了数据,所以它还是会傻傻的写入数据,这样另一个线程的数据就被覆盖了。如果是一边添加 ,一边遍历的话程序会产生ConcurrentModificationException异常。
所以要用copyonwritearraylist是最好的选择,但是注意的是,添加元素时它的性能不是很好 。
参考技术A copyonwritearraylist

以上是关于java多线程同时向一个数组arraylist添加元素,遍历这个集合的主要内容,如果未能解决你的问题,请参考以下文章

多个线程同时向不同步的ArrayList的对象添加元素可能会导致哪些问题?

Java——ArrayList用法详解

C#数组如何添加元素

java源码学习ArrayList

Java集合源码分析ArrayList

Java集合---ArrayList的实现原理