Обмен информацией между терминалами с помощью файлов и синхронизация. - страница 4

 
RickD:
Тоже решение. Но есть нюансы. Например записали клиенту файл, он его еще не успел прочитать, а уже время писать новый файл. Тут нужно думать или о очереди файлов или о дополнительной синхронизации. :)
  Если клиент не успел прочитать, то это проблема. и тут есть два варианта : или проблемы клиента это его проблемы, и мы даем ему новое задание, или включается логика обработки исключительных операций вплоть до перезапуска терминала клиента. 
 

Сколько уже написано слов. Но проверить никто не удосужился.

Предложение Рустама рассматривается только теоретически. 

Из опыта. Один пишет, другие читают - проблем нет. Не смог прочитать, прочитает на следующем тике. 

 
Vinin:

Сколько уже написано слов. Но проверить никто не удосужился.

Предложение Рустама рассматривается только теоретически. 

Из опыта. Один пишет, другие читают - проблем нет. Не смог прочитать, прочитает на следующем тике. 

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

Я не совсем понимаю суть твоего комментария про FileFlush(). Он ускоряет запись в файл, но не гарантирует, что файл не находиться в процессе чтения.

Я думаю - копать надо в сторону эксклюзивного чтения или записи в файл каждый момент времени.

Прочти ещё раз примечание из документации и особое внимание обрати на выделенное жирным

Примечание

При выполнении операции записи в файл физически данные могут оказаться в нем только через некоторое время. Для того чтобы данные сразу же сохранились в файле, нужно использовать функцию FileFlush(). Если не использовать функцию, то часть данных, еще не попавших на диск, принудительно записывается туда только при закрытии файла функцией FileClose().

Пока изменённый файл не скинут на диск, читаться будет файл без последних изменений.


А если вдруг к файлу обратятся одновременно писатель и читатель, я думаю сама система разрулит эту ситуёвину, да и вероятность этого близка к нулю.

 
Vinin:

Сколько уже написано слов. Но проверить никто не удосужился.

Предложение Рустама рассматривается только теоретически. 

Из опыта. Один пишет, другие читают - проблем нет. Не смог прочитать, прочитает на следующем тике. 

Давно уже проверено. И не только мной, суда по выделенному.
 
RickD:
Не всегда такой подхрод будет хорошо работать. Например задача написать арбитраж.  Нужно передовать все изменения котировок и максимально быстро. Не смог прочитать, прочитает на следующемтике работать будет плохо.
  на каждую задачу должно быть свое решение. в случае арбитража лучше всего сразу писать оффлайновые тиковые графики.
 
AlexeyVik:

Прочти ещё раз примечание из документации и особое внимание обрати на выделенное жирным

Пока изменённый файл не скинут на диск, читаться будет файл без последних изменений.


Но в процессе скидывания файла на диск при чтении в этот момент могут получиться накладки.
 
AlexeyVik:

Прочти ещё раз примечание из документации и особое внимание обрати на выделенное жирным

Пока изменённый файл не скинут на диск, читаться будет файл без последних изменений.


А если вдруг к файлу обратятся одновременно писатель и читатель, я думаю сама система разрулит эту ситуёвину, да и вероятность этого близка к нулю.

  эта информация устарела, сейчас данные сразу же сбрасываются на диск
 
FAQ:
  на каждую задачу должно быть свое решение. в случае арбитража лучше всего сразу писать оффлайновые тиковые графики.
И как можно чаще. 
 
FAQ:
  эта информация устарела, сейчас данные сразу же сбрасываются на диск
Уже потерял пару гигов фотографий...