したがって、複数のスレッドからアクセスされる次のリストがあります。
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);
}