Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.03.07;
Скачать: CL | DM;

Вниз

Синхронизация процессов   Найти похожие ветки 

 
Voyager ©   (2002-01-08 14:59) [0]

Есть программа, которая запускает процесс.
Запущенный процесс по окончании своей работы запускает еще один процесс и завершается. Осеовнпя программа должеа продолжить свою работу по заверщении последнего (3-го) процесса. Помогите, объясните........как их синхронизировать ?????
Заранее спасмбо.


 
panov ©   (2002-01-08 15:46) [1]

Ну посылай основному приложению свое сообщение из третьего процесса, да и все...


 
Vovchik ©   (2002-01-08 16:32) [2]

Корректней было бы делать мутекс, который убивался бы, когда завершается последний процесс.

>panov: мессадж плохо, потому что последний процесс может некорректно завершиться, например, кто-нибудь его убъёт.


 
Voyager ©   (2002-01-08 18:55) [3]

Replay to all!!!!!!!!!
Ни message , ни Mutx не могу.
Все порожденные процессы - EXE"ники. События тоже под сомнением.
Правда не знаю еще, не ковыряд толком . Надежда на отображаемые в память файлы, прада очень слабая. :(((((((


 
Suntechnic ©   (2002-01-09 04:28) [4]

Voyager © (08.01.02 18:55)
Да объясни ты толком проблему. А то только "...не могу, другое под сомнением..." Чем Mutex не угодил? Он по своей природе предназначен для синхронизации межпроцессорного взаимодействия, и я знаю очень мало случаев, когда он не устраивал...


 
Voyager ©   (2002-01-09 07:22) [5]

Второ1 и трнтий процессы не мои. Не могу послпть сообщение. И Mutex немогу в них открыть. Второй процесс вогу обработать по WaitSingle.... Но он и не нужен мне особенно. Последний процесс!
Вот в чем вопрос. Чувствую что можно - а как? Опыьа в этом деле нет. Я новенький тут у вас в форуме.


 
panov ©   (2002-01-09 08:53) [6]

Тебе нужно из основного процесса отлавливать появление Handle последовательно первого, второго и третьего процесса, и ожидать завершение каждого.


 
Suntechnic ©   (2002-01-09 09:14) [7]

Voyager © (09.01.02 07:22)
Да не нужны в твоём случае Mutex-сы вообще. В WaitForSingleObject передавай Handle второго процесса, который ты получишь после CreateProcess. Ожидание закончится, когда умрёт второй процесс, но в этот момент, насколько я понял, третий процесс уже существует. Одна из проблем, что третий процесс создан не тобой и ты не знаешь его Handle. Но это решаемо. Если знаешь какое окно создано этим процессом, то получаешь его pid через GetWindowThreadProcessId, а из OpenProcess получаешь уже Handle, который передаёшь опять же в WaitForSingleObject... только в этом решении тоже не всё чисто... например, если второй процесс умирает раньше, чем третий успевает проинициализироваться... тогда придётся "придержать" первый процесс...



Страницы: 1 вся ветка

Текущий архив: 2002.03.07;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.011 c
3-19090
DimaIv
2002-02-08 16:52
2002.03.07
Возможно ли при помощи процедуры AppendRecord ничего


1-19226
maks_f
2002-02-18 10:11
2002.03.07
Свойства объекта


1-19159
Leonon
2002-02-21 12:40
2002.03.07
Как расположить боксы в нужном порядке?


1-19141
Sergy
2002-02-18 12:15
2002.03.07
Определить подстроку в строке


14-19319
Aledo
2002-01-21 20:31
2002.03.07
Телеработа