Ну, моя проблема немного сложна, но не так сильно, я опишу сейчас в этих нескольких строках.Допустим, у меня есть две программы на двух разных языках.Одна программа записывает файл, и тот же файл читается другой программой.Файл является связующим звеном для обоих приложений, это некая слабая связь (не то, что я разработал, просто старое приложение, с которым мне приходится работать).
Ну, как вы, несомненно, понимаете, это общий ресурсвопрос ресурса, но как с этим справиться?Ну, я пришел к решению.
Когда программа должна читать / писать, просит другое приложение (через TCP) и получает ok-go или повторную попытку позже.Ну, мне было интересно, можно ли было использовать другой подход.Я также думал о периодической отправке содержимого файла программе, которая читает файл (потому что один пишет, а другой только читает).
Я также думал о том, что не нужно заботиться о параллелизме.Хорошо, возможно, что программа, которая читает файл, будет читать непоследовательный файл, если вы считаете, что файл является XML-файлом, проблема еще больше, предположим, что пишущая программа не закончила писать закрывающий тег иПрограмма чтения пытается прочитать содержимое.Будет получено исключение: не правильно сформированное файловое исключение или подобное :) Но так ли это плохо ??Если это произойдет, я закрою файл, установлю таймер и попробую позже.Разве это не правильный подход (конечно, он быстрый), он также может оказаться лучшим подходом.Что вы думаете об этом?
Есть ли действительный алгоритм, используемый для таких случаев?
Спасибо.