Блокирует ли синхронизированный блок доступ к объекту другим потоком?

Если я что-то делаю со списком внутри синхронизированного блока, мешает ли это другим потокам получать доступ к этому списку где-то еще?

List<String> myList = new ArrayList<String>();

synchronized {
  mylist.add("Hello");
}

Мешает ли это другим потокам выполнять итерацию по myList и удаление / добавление значений?

Я хочу добавить / удалить значения из списка, но в то же время защитить его от других потоков / методов от повторения (поскольку значения в списке могут быть недействительными)

5
задан Jimmy 8 November 2010 в 10:15
поделиться