Java: CopyOnWriteArrayList против synchronizedList - PullRequest
13 голосов
/ 01 октября 2010

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

1 Ответ

18 голосов
/ 02 октября 2010
Список

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

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

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