Подтвердить что ты не робот

Java: CopyOnWriteArrayList vs synchronizedList

В чем разница между CopyOnWritearraylist и Collections.synchronizedList(..)? Когда следует отдать предпочтение другому.

4b9b3361

Ответ 1

CopyOnWriteArrayList следует использовать, когда число чтений значительно превышает число записей. Это связано с тем, что вы торгуете ненужной синхронизацией для дорогостоящего копирования массивов при каждой записи.

Например, когда у вас есть List прослушивателей событий в многопоточной среде, вы хотите использовать CopyOnWriteArrayList, потому что

  • запускаются события, и, следовательно, список повторяется очень часто.
  • прослушиватели событий редко регистрируются