У меня общий вопрос относительно синхронизированного списка.
Допустим, в конструкторе я создаю список
List synchronizedList = Collections.synchronizedList(list);
, и у меня есть один метод, который добавляет объект в список.
public void add(String s){
synchronizedList.add(s)
}
Есть еще один поток, который каждые несколько секунд проверяет наличие нескольких строк, выгружает их в файл и удаляет их все.
Теперь предположим, что я перебираю каждую строку и сохраняю ее в базе данных. после всей итерации очищаю список.
Чем мне помогает поддержка многопоточности?
Я мог бы добавить элемент в список непосредственно перед тем, как произойдет clear () в другом потоке.
Если только я не управляю блокировкой самостоятельно (для чего мне не нужен синхронизированный список), то это я сам.