Discusión sobre el artículo "Desarrollo de un sistema de repetición — Simulación de mercado (Parte 07): Primeras mejoras (II)"

 

Artículo publicado Desarrollo de un sistema de repetición — Simulación de mercado (Parte 07): Primeras mejoras (II):

En el artículo anterior realizamos correcciones en algunos puntos y agregamos pruebas a nuestro sistema de repetición para garantizar la mayor estabilidad posible. Asimismo, comenzamos a crear y utilizar un archivo de configuración para dicho sistema.

El problema aquí es que entre la lectura y la escritura de la variable, habrá una pequeña brecha. Por más pequeña que sea, existe, donde el servicio puede escribir un valor en la variable global de terminal antes de que el indicador lo haga. Si ocurre este tipo de evento, el valor esperado por el servicio al acceder a la variable global de terminal será diferente de lo que realmente está en la variable.

Existen formas de sortear esta falla, pero aquí, en este sistema que trata de la repetición de mercado, no es algo crítico, podemos ignorar esta falla y dejarla pasar sin preocupaciones. Pero, si deseas utilizar este mismo mecanismo en algo más complejo, donde los valores almacenados son críticos, te aconsejo que busques más sobre los medios para bloquear y desbloquear la lectura y escritura de memoria compartida, ya que la variable global de terminal no es más que eso, una memoria compartida.

En el video a continuación, podrás entender un poco de lo que ha sido corregido y todavía necesita ser corregido. Observa que las cosas están empezando a ponerse realmente serias.



Autor: Daniel Jose