(Java源码阅读) ArrayList为什么线程不安全?

上传:weihuayu34489 浏览: 12 推荐: 0 文件:PDF 大小:75.78KB 上传时间:2020-12-23 05:34:54 版权申诉
ArraysList是线程不安全的数据类型。如果多个线程同时访问列表实例,并且至少有一个线程在结构上修改列表,则需要在外部同步。使用Collections.sychronizedList方法是线程安全的。 查看JDK文档,在结构上修改ArraysList的方法有 分析源码发现,在add方法中的elementData[size++] = e;存在线程不安全的风险。 elementData与size都是全局变量,但没有进行sychronization同步处理,elementData是共享的线程不安全的mutable可变数据。 public class ArrayList extends Abs
上传资源
用户评论