Java集合的不可修改包装器会使它们线程安全吗?

狼人龙:

我需要使ArrayLists线程的ArrayList安全。我也不能让客户对集合进行更改。不可修改的包装器会使其线程安全吗,或者我需要在集合上使用两个包装器?

迈克尔·伯格沃特(Michael Borgwardt):

这取决于。包装器只会阻止对其包装的集合进行更改,而不是对集合中的对象进行更改。如果您有一个ArrayLists的ArrayList,则全局列表及其每个元素列表都需要分别包装,并且您可能还需要为这些列表的内容做些事情。最后,您必须确保不更改原始列表对象,因为包装器仅阻止通过包装器引用而不是原始对象进行更改。

在这种情况下,您不需要同步包装器。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章