Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: @mayakoski en 12 de Febrero 2020, 04:45
-
Respuesta para el ejercicio CU00911C del tutorial de programación avanzada Java de aprenderaprogramar.
EJERCICIO
En esta entrega hemos podido ver lo siguiente: StringBuilder puede ofrecer resultados no consistentes en una ejecución multihilo (concurrente, con distintos “subprogramas” ejecutándose simultáneamente) ya que sus métodos no son sincronizados.
Busca información en internet y trata de poner un ejemplo de cómo podría generarse una inconsistencia en programación multihilo. No hace falta que escribas código, únicamente es necesario describir en unas pocas líneas (como si estuvieras explicándoselo a un amigo) la idea o situación.
El problema con el uso de StringBuilder en la ejecución de multihilos es que al no ser sincronizado, en diferentes ejecuciones puede darse el caso que los cambios generados a la cadena no se realicen en el orden que deseamos, y un hilo realice un cambio antes de lo que se esperaba produciendo inconsistencia en el resultado final, lo cual no sucede si la ejecución es como una variable local, en el cual no importa la sincronización
-
Buenas, para quien revise este hilo la respuesta me parece correcta aunque para mayor claridad puede verse una explicación más amplia en https://aprenderaprogramar.com/foros/index.php?topic=6848.0
Salu2