1. 首页
  2. 编程语言
  3. Java
  4. java的各种集合为什么不安全(List、Set、Map)以及代替方案

java的各种集合为什么不安全(List、Set、Map)以及代替方案

上传者: 2022-02-01 03:02:21上传 PDF文件 653.63 KB 热度 3次

我们已经知道多线程下会有各种不安全的问题,都知道并发的基本解决方案,这里对出现错误的情况进行一个实际模拟,以此能够联想到具体的生产环境中。输出结果,多执行几次,惊喜多多。那么,情况不严重的时候,这里显然还正常运行结束了,只是导致了还没来得及写的时候,就已经读出了数据。如果把线程数增加试试,可能还会看到这样的奇观:报错了:重点异常:java.util.ConcurrentModificationException,翻译过来就是并发修改异常。普通的 ArrayList 集合里面没有任何特殊处理,在多线程情况下,他们可以共同进行访问。不影响,前提是只有读;各个线程都写。

用户评论