Si corro varias veces el programa a mi casi siempre me dan iguales, pero a veces me dan diferentes hash codes. Supongo que a veces la creación de la primera instancia es suficientemente lenta como para que el segundo thread llegue y la variable del singleton aún no se haya instanciado generando una segunda (inesperada) instancia del singleton . Eso es una condición de carrera; como no queremos depender de nuestra "buena suerte" será mejor usar el synchronized :D
-
check_circle_outlineMódulo 1 | 3 clases
Introdución
expand_more -
check_circle_outlineMódulo 2 | 8 clases
Programación orientada a objetos
expand_more -
check_circle_outlineMódulo 3 | 6 clases
Principios SOLID
expand_more -
check_circle_outlineMódulo 4 | 8 clases
Patrones creacionales
expand_more -
check_circle_outlineMódulo 5 | 7 clases
Patrones estructurales
expand_more -
check_circle_outlineMódulo 6 | 10 clases
Patrones de comportamiento
expand_more -
check_circle_outlineMódulo 7.-
Examen del curso
expand_more-
done_all
Examen
Examen final del curso
-
6 comentario(s)
Pero eso se soluciona simplemente instanciando la clase al declararla, no adentro del método. De esa manera te aseguras que siempre sea el mismo objeto y te ahorras código.
Hola buenas veo que ahora sale la programacion concurrente a flote, pero no he visto ningun curso de java sobre programacion concurrente en codigo facilito ¿habra curso java sobre programacion concurrente?
Un saludo
Un saludo
He estado probando el ejemplo de Singleton concurrente y a mi antes de usar "synchronized" ya me aparecían los mismos hash para la conexión del thread t1 y la del t2. ¿Podría ser por la versión de Java? Yo estoy utilizando JavaSE 13
Clase 20