所以我有以下列表,可以从多个线程访问:
ArrayList<String> listOfString = Collections.synchronizedList(new ArrayList<String>());
我知道当我遍历列表时,我必须像这样同步:
synchronized(listOfString)
{
for(String s : listOfString) System.out.println(s);
listOfString.clear();
}
如果我想删除一些东西怎么办,我这样做:
public void removeString(String s)
{
listOfString.remove(s);
}
或这个:
public synchronized void removeString(String s)
{
listOfString.remove(s);
}