Dalam contoh ini, dua kes ArrayList dan CopyOnWriteArrayList diuji masing-masing. ArrayList akan menjana acara cepat gagal, tetapi CopyOnWriteArrayList tidak akan menjana acara cepat gagal.
Apabila menggunakan ArrayList, acara cepat gagal akan dihasilkan dan pengecualian ConcurrentModificationException akan dilemparkan adalah seperti berikut:
private static List<String> list = new ArrayList<String>();
Apabila menggunakan CopyOnWriteArrayList, tiada peristiwa cepat gagal akan dihasilkan;
private static List<String> list = new CopyOnWriteArrayList<String>();
ArrayList sememangnya tidak selamat untuk thread Anda boleh mencubanya dengan Senarai yang dikembalikan oleh Collections.synchronizedList()
Dalam contoh ini, dua kes ArrayList dan CopyOnWriteArrayList diuji masing-masing. ArrayList akan menjana acara cepat gagal, tetapi CopyOnWriteArrayList tidak akan menjana acara cepat gagal.
Apabila menggunakan ArrayList, acara cepat gagal akan dihasilkan dan pengecualian ConcurrentModificationException akan dilemparkan adalah seperti berikut:
Apabila menggunakan CopyOnWriteArrayList, tiada peristiwa cepat gagal akan dihasilkan;
Jika ia ditetapkan kepada 100000000, pengecualian akan dilemparkan. . .
Gunakan CopyOnWriteArrayList atau ThreadLocal untuk meletakkan ArrayList dalam berbilang urutan