1 List
1.1 代码
代码如下:
1 public static void main(String[] args) { 2 List<String> list = new ArrayList<>(); 3 for (int i = 0; i < 10; i++) { 4 new Thread(() -> { 5 list.add(UUID.randomUUID().toString().substring(0, 8)); 6 System.out.println(list); 7 }, String.valueOf(i)).start(); 8 } 9 }
1.2 运行
运行结果出现异常:
1 Exception in thread "1" Exception in thread "8" java.util.ConcurrentModificationException
说明出现了并发修改异常。
2 Set
2.1 代码
代码如下:
1 public static void main(String[] args) { 2 Set<String> set = new HashSet<>(); 3 for (int i = 0; i < 10; i++) { 4 new Thread(() -> { 5 set.add(UUID.randomUUID().toString().substring(0, 8)); 6 System.out.println(set); 7 }, String.valueOf(i)).start(); 8 } 9 }
2.2 运行
运行结果出现异常:
1 Exception in thread "1" Exception in thread "8" java.util.ConcurrentModificationException
说明出现了并发修改异常。
3 Map
3.1 代码
代码如下:
1 public static void main(String[] args) { 2 Map<String, String> map = new HashMap<>(); 3 for (int i = 0; i < 10; i++) { 4 String key = String.valueOf(i); 5 new Thread(() -> { 6 map.put(key, UUID.randomUUID().toString().substring(0, 8)); 7 System.out.println(map); 8 }, String.valueOf(i)).start(); 9 } 10 }
3.2 运行
运行结果出现异常:
1 Exception in thread "1" Exception in thread "8" java.util.ConcurrentModificationException
说明出现了并发修改异常。