Quelle est la différence entre CopyOnWritearraylist
et Collections.synchronizedList(..)
? Quand devrait-on être préféré à l'autre.Java: CopyOnWriteArrayList vs synchronizedList
12
A
Répondre
18
CopyOnWriteArrayList
Cette liste doit être utilisée lorsque le nombre de lectures est largement supérieur au nombre d'écritures. C'est parce que vous échangez une synchronisation inutile pour une copie de tableau coûteuse sur chaque écriture.
Par exemple, lorsque vous avez un List
des écouteurs d'événements dans un environnement multi-thread, vous voudriez utiliser CopyOnWriteArrayList
, parce que
- événements sont déclenchés, et par conséquent la liste est réitérés très souvent
- écouteurs d'événement sont enregistrés rarement
Questions connexes
- 1. Comportement des CopyOnWriteArrayList
- 2. Comment désérialiser synchronizedMap et synchronizedList?
- 3. Comment CopyOnWriteArrayList peut-il être thread-safe?
- 4. Application Java vs applet Java
- 5. Java vs sortie C
- 6. Java writeObject Vs. writeUTF
- 7. java - POST vs JDBC
- 8. Java: double vs float
- 9. Fichiers JAVA SQLJ VS
- 10. Java surcharger vs écraser
- 11. Java Timer vs ExecutorService?
- 12. Java: Comparable vs Comparator
- 13. Java Web Start vs Embedded Java Applet
- 14. Java isInstance vs opérateur instanceOf
- 15. Pilote Modbus: C vs Java
- 16. Java Sockets: InputStream.read() vs BufferedReader.read()
- 17. Spring (Java) - Déclare vs liste
- 18. C# vs Java - Listes génériques
- 19. Java vs Python sur Hadoop
- 20. Java statique vs objets réguliers
- 21. C principal vs Java principal
- 22. .NET vs Java EE middleware?
- 23. Sanselan vs Java-Image-io
- 24. Java Pointer vs C# IntPtr
- 25. Liste vs File d'attente vs Ensemble de collections en Java
- 26. Connexion centralisée pour de nombreuses applications Java: Syslog vs JMS vs Http vs fichier local
- 27. Stack Frame Question: Java vs C++
- 28. Programmation de jeux Java: JOGL vs LWJGL?
- 29. Pylônes ou TurboGears vs .NET ou Java
- 30. java vs C++ passer par référence
Bien que dans un contexte un peu différent, mais comment est CopyOnWriteArrayList différente de celle d'une liste non modifiable? – AKS