Здравствуйте, Кодт, Вы писали:
К>Здравствуйте, sjukov, Вы писали:
S>>Коллеги! посоветуйте пожалуйста как лучше всего сделать связь между
S>>несколькими потоками одного процесса? я знаю что есть
S>>1. именованные каналы
К>можно и безымянные. В пределах одного процесса-то...
S>>2. мэйл слоты
S>>3. message (wm_copydata)
S>>и т.д..
S>>но как-то это все никузяво....
S>>Мне надо по сути уведомлять один из потоков о сыбытиях в других потоках и в ответ на это событие
S>>отсылать команды обратно — "указания" что нужно делать дальше.
К>А какого рода указания?
Рабочий поток постоянно читает что-то с com-порта(at команды gsm модема — на факт наличия входщих непрочитанных СМС). При считывания валидной строки с порта ,поток отсылает уведомление в главный поток приложения... приложение должно передать прочитанную
иформацию в другой поток , который запишет принятое СМС В БД (ms sql) Если все прошло без ошибок, то передается управление опять "читальщику"
с ком порта, где уже посылается at команда на удаление принятого СМС. чтобы не засорять память.
По идее лучше это сделать в виде "разделямых данных". т.к. важно чтобы смс удалялось только в том случае когда
запись окажется в БД(система дистанционного управления городского освещения(когда из автоматического режима нужно перейти в ручной для
управления с главного ПК)) — инофрмация важная
,.. хотя возможно я не совсем выкупил фишку с очередями
К>Насколько асинхронно всё это происходит, могут ли возникать очереди сообщений (кстати, о message queue!) или достаточно рандеву вокруг разделяемых данных?
К>Распиши сценарии, а потом под это дело придумаем решение.
По идее обработка следующего смс не наступит ранее как будет обработано предыдущее — записано в БД и стерто с
SIM карты.
Возможно я не совсем верно продумал "архитектуру", если это так можно назвать

... << RSDN@Home 1.1.4 stable SR1 rev. 568>>