【发布时间】:2016-12-18 07:33:29
【问题描述】:
我有多个线程不断迭代一个名为“clients”的ArrayList。
当他们断开连接时,我想从列表中删除单个客户端,但我知道这可能会导致并发修改异常。
我应该用Synchronized 块包围ArrayList 的所有用法还是不是一个好主意?
ArrayList 也可以被多个线程毫无问题地读取吗?
谢谢,
(客户端列表由向所有客户端发送数据的UDP线程不断迭代)
【问题讨论】:
-
CopyOnwrite arraylist 是一个很好的解决方案,但在您需要删除项目的情况下,您必须记住,从迭代器中删除元素是不可能的,您必须选择其他解决方案,例如: stackoverflow.com/questions/5612470/…
标签: java