小编Bas*_*ixp的帖子

多线程库暴露不安全的ArrayList

我在Java中使用一个返回ArrayList的共享库; 当我迭代它时,可能会抛出ConcurrentModificationException,我正在寻找100%(?)保证是安全的.我正在考虑下面的事情,我很欣赏任何意见.

data_list是从MT库返回的ArrayList <>.

boolean pass = true;

ArrayList<Something> local = new ArrayList<Something>(256);

for (int spin=0; spin<10; ++spin)
{
  try {
    local.addAll(data_list);
  }
  catch (java.util.ConcurrentModificationException ce) {
    pass = false;
  }
  finally {
    if (pass) break;
    pass = true;
  }
}
Run Code Online (Sandbox Code Playgroud)

假设变量passtrue,我应该如何操作本地?

java multithreading

5
推荐指数
2
解决办法
191
查看次数

标签 统计

java ×1

multithreading ×1