Обсуждение статьи "Разработка системы репликации - Моделирование рынка (Часть 07): Первые улучшения (II)"

 

Опубликована статья Разработка системы репликации - Моделирование рынка (Часть 07): Первые улучшения (II):

В предыдущей статье мы внесли исправления в некоторые моменты и добавили тесты в нашу систему репликации для обеспечения максимально возможной стабильности. Мы также начали создавать и использовать конфигурационный файл для данной системы.

Проблема здесь заключается в том, что между чтением и записью переменной будет небольшой разрыв. Хоть он и небольшой, но он существует, когда сервис может записать значение в глобальную переменную терминала раньше, чем это сделает индикатор. При возникновении такого рода событий значение, ожидаемое сервисом при обращении к глобальной переменной терминала, будет отличаться от того, что находится в переменной на самом деле.

Есть способы обойти этот недостаток, но в этой системе, работающей с репликацией рынка, он не критичен, мы можем не обращать внимания на этот недостаток и пропускать его без опасений. Однако, если вы хотите использовать этот же механизм в чем-то более сложном, где хранимые значения являются критически важными, то я советую вам более подробно рассмотреть средства блокировки и разблокировки чтения и записи общей памяти, поскольку глобальная переменная терминала является именно такой, общей памятью.

Из приведенного ниже видеоролика вы сможете понять часть того, что было исправлено и что еще предстоит исправить. Обратите внимание на то, что ситуация начинает становиться действительно серьезной.


Автор: Daniel Jose