Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.47 MB
Время: 0.036 c
3-1097554515
Xmen
2004-10-12 08:15
2004.11.14
Delphi и Zeosdbo удаление


14-1098709915
ArMellon
2004-10-25 17:11
2004.11.14
люди помогите найти дрова на видюху


14-1098544150
Кириешки
2004-10-23 19:09
2004.11.14
Очередное надувательство???


14-1098912615
хм
2004-10-28 01:30
2004.11.14
как же больно


4-1096770782
Sergeika
2004-10-03 06:33
2004.11.14
Как изменить яркость монитора и контрастность





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский