Я нашел это на dos.oracle.com
public static Список synchronizedList (Список списка)
Возвращает синхронизированный (потокобезопасный) список, поддерживаемый указанным список. Чтобы гарантировать последовательный доступ, важно, чтобы все доступ к списку поддержки выполняется через возвращенный список. Крайне важно, чтобы пользователь вручную синхронизировал список при его повторении:
List list = Collections.synchronizedList(new ArrayList());
...
synchronized(list) {
Iterator i = list.iterator(); // Must be in synchronized block
while (i.hasNext())
foo(i.next());
}
Мой вопрос: зачем мне синхронизировать список для его итерации, если Collections.synchronizedList();
должен возвращать уже синхронизированный список?
Я просто присоединяюсь к списку в двух потоках: Один поток просто добавляет, а другой поток - для получения и удаления. Какие другие классы вы рекомендуете использовать для этого сценария?
Спасибо за чтение.