2010-08-26 14 views

Respuesta

14

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.

5

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 ...

+0

referencia obligada: http: //www.javaconcurrencyinpractice. com –

Cuestiones relacionadas