Форум: "Основная";
Текущий архив: 2004.11.14;
Скачать: [xml.tar.bz2];
ВнизОбмен данными между приложениями Найти похожие ветки
← →
m.alex (2004-10-27 17:32) [0]Мастера посоветуйте пожалуйста как лучше решить след. задачу:
Есть 3 разных (по функциональности) приложения. Все ети приложения должны иметь общие данные. Каждое приложение в любой момент может прочитать или изменить данные! Скорость изменения данных в некоторых случаях может достигать до 10 изменений в секунду. Обьем общих данных - порядка 100к.
Думал сделать через file-mapping и в каждом приложении по таймеру синхронизировать данные!
Как лучше сделать?
← →
TUser © (2004-10-27 17:37) [1]
> Думал сделать через file-mapping и в каждом приложении по
> таймеру синхронизировать данные!
Обязательно надо подумать о разграничении доступа к этим данным. Например, завести мьютекс, и только когда его получается "получить" - писать, иначе - ждать. А то будет бардак с данными.
← →
MBo © (2004-10-27 17:39) [2]одно из готовых средств:
TMultiReadExclusiveWriteSynchronizer
← →
m.alex (2004-10-27 17:41) [3]
> Обязательно надо подумать о разграничении доступа к этим
> данным
ето обязательно будет. я в курсе. главное: как реализовать общие данные?
← →
Добрый дядька (2004-10-27 17:43) [4]m.alex (27.10.04 17:41) [3]
Ну так ты сам уже себе ответил. Не думаю, что лучше можно придумать.
← →
m.alex (2004-10-27 17:45) [5]
> TMultiReadExclusiveWriteSynchronizer
Это одно из средств разраничения доступа.
Use TMultiReadExclusiveWriteSynchronizer to guard access to memory in a multi-threaded application.
а мне надо знать где и как лучше реализовать общие данные обьемом примерно в 100к.
← →
MBo © (2004-10-27 17:47) [6]file-mapping - хороший выбор
← →
WondeRu © (2004-10-27 18:11) [7]m.alex (27.10.04 17:32)
и в каждом приложении по таймеру синхронизировать данные
зачем, если у тебя уже есть общая память???
или ты хочешь в промежуточных буферах чего-то хранить, а потом их синхронизировать с общей памятью? эт делать не стоит.
← →
Defunct © (2004-10-27 18:22) [8]m.alex (27.10.04 17:45) [5]
Можно сделать четвертое приложение - монитор, которое будет хранить общие данные. А ресурсами этого монитора будут функции записи и чтения.
← →
alena.svt © (2004-10-27 22:02) [9]a CopyData никак?
← →
Игорь Шевченко © (2004-10-27 23:06) [10]CreateFileMapping во всех трех приложениях. Пример есть в Program Files\Borland\Delphi\Demos\IPCDemos
alena.svt © (27.10.04 22:02) [9]
CopyData смысла нету.
← →
Yanis © (2004-10-27 23:37) [11]The WM_COPYDATA message is sent when an application passes data to another application.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.11.14;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.034 c