84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
业精于勤,荒于嬉;行成于思,毁于随。
ArrayList本来就不是线程安全的,你可以用Collections.synchronizedList()返回的List试一下
本例中,分别测试 ArrayList 和 CopyOnWriteArrayList 这两种情况。ArrayList 会产生 fast-fail 事件,而 CopyOnWriteArrayList 不会产生 fast-fail 事件。
使用 ArrayList 时,会产生 fast-fail 事件,抛出 ConcurrentModificationException 异常;定义如下:
private static List list = new ArrayList();
使用时 CopyOnWriteArrayList,不会产生 fast-fail 事件;定义如下:
private static List list = new CopyOnWriteArrayList();
设置100000000大些就抛异常了。。。
多线程用CopyOnWriteArrayList或者ThreadLocal放ArrayList
ArrayList本来就不是线程安全的,你可以用Collections.synchronizedList()返回的List试一下
本例中,分别测试 ArrayList 和 CopyOnWriteArrayList 这两种情况。ArrayList 会产生 fast-fail 事件,而 CopyOnWriteArrayList 不会产生 fast-fail 事件。
使用 ArrayList 时,会产生 fast-fail 事件,抛出 ConcurrentModificationException 异常;定义如下:
使用时 CopyOnWriteArrayList,不会产生 fast-fail 事件;定义如下:
设置100000000大些就抛异常了。。。
多线程用CopyOnWriteArrayList或者ThreadLocal放ArrayList