2014-10-16 40 views
1

当不在列表中执行添加/删除操作并且每个线程访问固定集时,从不同线程访问(读取/写入)相同ArrayList的不同元素是否是线程安全的不相交的索引? 我看到没有必要在这里使用特殊的预防措施(如锁定块),但我只是想确定:可能出现什么问题?访问不同线程中的不同列表元素

+0

它是强制性的持有在同一集合中的所有元素(可能是由于发布所有线程完成时处理)?因为如果不是,您甚至可以为每个线程使用不同的列表,并在需要时将列表合并。 – Smutje 2014-10-16 20:26:28

+0

好的不是强制性的,我总是可以使线程在值的副本上工作,然后在重新组合子列表完成所有线程后更新原始列表。但是,如果没有安全问题,我仍然更喜欢更直接的方式! – splinter123 2014-10-17 07:26:36

回答

1

没有。只要没有删除或添加完成阵列将不会被调整大小(并因此重新创建),每个得到(我)的电话将是安全的