Discussão do artigo "Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 07): Primeiras melhorias (II)"

 

Novo artigo Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 07): Primeiras melhorias (II) foi publicado:

No artigo anterior fizemos a correção de alguns pontos, e adicionamos alguns testes no nosso sistema de replay, estes tentam garantir a maior estabilidade quanto for possível obter, ao mesmo tempo iniciamos a criação e o uso de um arquivo de configuração para o sistema de replay.

O problema aqui, é que entre a leitura e a escrita da variável, teremos uma pequena brecha. Mas apesar de pequena ela existe, onde o serviço pode escrever um valor na variável global de terminal, antes que o indicador faça isto. Caso este tipo de evento venha a acontecer, o valor esperado pelo serviço quando for acessar a variável global de terminal, será diferente do que realmente está na variável.

Existem forma de se contornar esta falha, mas já que aqui, neste sistema que trata de replay de mercado, não é algo critico, podemos ignorar esta falha e deixar ela passar sem nos preocupar. Mas caso você venha a desejar utilizar este mesmo mecanismo, em algo mais complexo, e onde os valores ali armazenados são critico, aconselho a você, procurar saber mais sobre os meios de bloquear e destravar a leitura e gravação de memória compartilhada, pois a variável global de terminal, nada mais é do que isto, uma memória compartilhada.

No vídeo abaixo, você pode entender um pouco do que foi corrigido e ainda precisa ser corrigido. Vejam que a coisa esta começando a ficar realmente séria.



Autor: Daniel Jose