Sé que la clase Propiedades es una subclase de Hashtable. Entonces, todos los métodos heredados están sincronizados, pero ¿qué pasa con los otros métodos de Propiedades como almacenar, cargar, etc.? (Que tratan específicamente con Java 1.6)¿Están todos los métodos de Java Properties totalmente sincronizados?
Respuesta
la java1.6 javadoc dice:
Esta clase es de hilo de seguridad: múltiple hilos pueden compartir una sola Propiedades objeto sin la necesidad de sincronización externa.
siempre he encontrado el descargo de responsabilidad doc engañosa, especialmente para los principiantes (perdón si no es tu caso).
Esta clase es segura para subprocesos: varios subprocesos pueden compartir un único objeto de Propiedades sin la necesidad de sincronización externa.
Incluso las clases de protección contra subprocesos necesitan sincronización más de lo que crees. Lo que está sincronizado en esas clases son sus métodos, pero a menudo un usuario usa estas clases en un contexto más complejo.
Si sólo PUT/GET que está bien, pero con algunas cosas más de código más apretados:
p.putProperty("k1","abc");
p.putProperty("k2","123");
String.out.println(p.get("k1")+p.get("k2"));
Este código de ejemplo sólo se imprime para Shure "abc123" en un entorno multihilo, si la sección es un bloque sincronizado (e incluso entonces las cosas podrían salir mal).
Por esa razón (y de rendimiento courrse) prefiero clases de seguros no de rosca y me pongo obligado a pensar: es mi programa hilo de seguridad ...
- 1. métodos sincronizados
- 2. ¿Cómo funcionan los métodos estáticos sincronizados en Java?
- 3. métodos de Java dos sincronizados en un caso
- 4. Mejores prácticas en métodos sincronizados en jsf y java
- 5. diferencias entre los métodos de JVM no sincronizadas sincronizados y
- 6. registrar todos los métodos?
- 7. dos métodos sincronizados diferentes del mismo objeto?
- 8. copie todos los nombres de métodos - Intellij
- 9. ¿.NET tiene un equivalente a los archivos .properties de Java?
- 10. ¿Todos los métodos en Java son implícitamente virtuales?
- 11. Aspectj @Around pointcut todos los métodos en Java
- 12. ¿Están optimizados todos los motores de Javascript?
- 13. ¿Están todos los scripts escritos en lenguajes de script?
- 14. Comprobar si los elementos de todos los niños están ocultos
- 15. ¿Dónde están todos los recursos estándar de íconos de Android?
- 16. Hilos de Java y bloques sincronizados
- 17. Propiedades de Java: archivos .properties vs xml?
- 18. Java .properties archivos como clases fuertemente tipadas
- 19. PHPUnit: simula todos los métodos, excepto algunos
- 20. Clase abstracta con todos los métodos concretos
- 21. ¿Todos los métodos devuelven `this` a monad?
- 22. ¿Cómo colapsar todos los métodos en XCode?
- 23. ¿Son los métodos sincronizados más lentos en aplicaciones con un solo subproceso?
- 24. Java: ¿Qué es, en todo caso, bloqueado por métodos sincronizados aparte del objeto al que pertenecen?
- 25. Capturar todos los métodos/llamadas de mensajes en un objeto
- 26. ¿Por qué los métodos de la clase Math están estáticos?
- 27. ¿Archivo Java .properties equivalente para Ruby?
- 28. java: wait(), notify() y bloques sincronizados
- 29. Modificador volátil Java y bloques sincronizados
- 30. System.Reflection: los métodos globales no están disponibles para la reflexión
referencia obligada: http: //www.javaconcurrencyinpractice. com –