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<String> list = new ArrayList<String>();
使用時 CopyOnWriteArrayList,不會產生 fast-fail 事件;定義如下:
private static List<String> list = new CopyOnWriteArrayList<String>();
設定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