Java??CopyOnWriteArrayList?????
?????imzoer ???????[ 2016/7/26 10:52:09 ] ??????????????????? Java
????java?У?List????????????????????????java.util.ConcurrentModificationException????
????????????????
import java.util.ArrayList;
import java.util.List;
public class Resource3 {
public static void main(String[] args) throws InterruptedException {
List<String> a = new ArrayList<String>();
a.add("a");
a.add("b");
a.add("c");
final ArrayList<String> list = new ArrayList<String>(
a);
Thread t = new Thread(new Runnable() {
int count = -1;
@Override
public void run() {
while (true) {
list.add(count++ + "");
}
}
});
t.setDaemon(true);
t.start();
Thread.currentThread().sleep(3);
for (String s : list) {
System.out.println(s);
}
}
}
??????δ??????е????????java.util.ConcurrentModificationException?????????????????????list??????????????list?????????
???????????а?????????list?????????list????????????????е????java concurrent???е?CopyOnWriteArrayList??
???????????CopyOnWriteArrayList??
????CopyOnWriteArrayList??????????????????????????????add/remove?????????????????????????????????????????????μ????顣??????????????????????????顣??????ConcurrentModificationException????
??????????????
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
public class Resource3 {
public static void main(String[] args) throws InterruptedException {
List<String> a = new ArrayList<String>();
a.add("a");
a.add("b");
a.add("c");
final CopyOnWriteArrayList<String> list = new CopyOnWriteArrayList<String>(a);
Thread t = new Thread(new Runnable() {
int count = -1;
@Override
public void run() {
while (true) {
list.add(count++ + "");
}
}
});
t.setDaemon(true);
t.start();
Thread.currentThread().sleep(3);
for (String s : list) {
System.out.println(list.hashCode());
System.out.println(s);
}
}
}
??????
![](/images/ad-banner/ad-banner.png)
???·???
??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???·???????·
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11