В чем разница между CopyOnWritearraylist
и Collections.synchronizedList(..)
? Когда следует отдать предпочтение другому.
Java: CopyOnWriteArrayList vs synchronizedList
Ответ 1
CopyOnWriteArrayList
следует использовать, когда число чтений значительно превышает число записей. Это связано с тем, что вы торгуете ненужной синхронизацией для дорогостоящего копирования массивов при каждой записи.
Например, когда у вас есть List
прослушивателей событий в многопоточной среде, вы хотите использовать CopyOnWriteArrayList
, потому что
- запускаются события, и, следовательно, список повторяется очень часто.
- прослушиватели событий редко регистрируются