¿Cuál es la diferencia entre CopyOnWritearraylist
y Collections.synchronizedList(..)
? ¿Cuándo se debe preferir uno sobre el otro?Java: CopyOnWriteArrayList vs synchronizedList
12
A
Respuesta
18
CopyOnWriteArrayList
La lista se debe utilizar cuando el número de lecturas supera ampliamente el número de escrituras. Esto se debe a que está intercambiando sincronización innecesaria para la costosa copia de matriz en cada escritura.
Por ejemplo, cuando se tiene un List
de detectores de eventos en un entorno multi-hilo, que te gustaría utilizar CopyOnWriteArrayList
, porque
- eventos se activan, y por lo tanto la lista se itera muy a menudo
- detectores de eventos se registran pocas veces
Cuestiones relacionadas
- 1. java - general synchronizedList pregunta
- 2. Comportamiento de CopyOnWriteArrayList
- 3. ¿Cómo puede CopyOnWriteArrayList ser seguro para subprocesos?
- 4. alternativa a CopyOnWriteArrayList para escrituras frecuentes, iteración ocasional
- 5. Struts vs Zend? Java vs PHP?
- 6. Serialización en Java vs JSON vs XML
- 7. Java JRE vs GCJ
- 8. .class vs .java
- 9. Java HashMap vs JSONObject
- 10. .Net vs Java Jobs
- 11. Java: LockSupport.parkNanos vs Thread.sleep (...)
- 12. Java: Enum vs. Int
- 13. Edificio vs compilación (Java)
- 14. Java: Comparable vs Comparador
- 15. Java Timer vs ExecutorService?
- 16. javax vs java package
- 17. C# vs Java generics
- 18. Enumeración Java vs iterador
- 19. Java Static vs Instance
- 20. java: Class.isInstance vs Class.isAssignableFrom
- 21. Java Web Start vs Embedded Java Applet
- 22. java difference StdOut vs System.out.println
- 23. Lista de Java vs ArrayList
- 24. Mustache Scalate vs Bigote Java
- 25. JetS3t vs AWS Java SDK
- 26. Java swing: repaint() vs invalida
- 27. Java Utility Class vs. Service
- 28. Clojure nil vs Java null?
- 29. Boolean.getBoolean() Vs System.getenv() en Java
- 30. Java: RMI vs servicios web
Aunque en contexto ligeramente diferente, pero ¿cómo es CopyOnWriteArrayList diferente a una Lista inmodificable? – AKS