我有一个由多个线程访问的 ArrayList。主线程只清除列表,其他人添加到它。我不希望在另一个线程向其中添加项目时清除列表。我希望在线程向其中添加项目时锁定列表。
这是添加线程的代码:
synchronized (items)
{
int length = jsonArray.length();
if ((length > 0)) for (int i = 0; i < length; i++)
{
items.add(new Item(jsonArray.getJSONObject(i)));
}
}
但我不使用同步块进行清除。清除也需要同步块吗?