【发布时间】:2013-11-16 01:21:58
【问题描述】:
在ArrayList api 我们有:
请注意,此实现不同步。如果多个线程 同时访问一个 ArrayList 实例,并且至少其中一个 线程在结构上修改列表,它必须同步 外部。 (结构修改是添加或 删除一个或多个元素,或显式调整后备数组的大小; 仅仅设置元素的值不是结构性的 修改。)这通常是通过同步一些 自然封装列表的对象。如果不存在这样的对象, 该列表应使用 Collections.synchronizedList “包装” 方法。
这里的“这通常是通过同步一些自然封装列表的对象来完成”是什么意思?这与并发修改异常有何关系?
【问题讨论】:
-
如果您同步访问对象,您将不会获得 CME。
标签: java arraylist synchronization