Как правильно запустить несколько последовательных процессов? |
Здравствуйте, гость ( Вход | Регистрация )
Как правильно запустить несколько последовательных процессов? |
RazrFalcon |
30.8.2011, 19:24
Сообщение
#1
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
В итоге у меня запускается три Processor одновременно. А как сделать, что бы они стратовали по очереди? То есть, у меня есть отдельный поток, и в нем я запускаю обработку (что бы GUI не зависал). При том что новая обработка должна начинается сразу после окончания старой. А у меня как бы паралельно все работают.
|
|
|
Dovgon |
30.8.2011, 21:08
Сообщение
#2
|
Студент Группа: Участник Сообщений: 92 Регистрация: 5.1.2011 Пользователь №: 2325 Спасибо сказали: 3 раз(а) Репутация: 0 |
Почитай про симафоры или мютаксы. По простому передаешь в каждый процес один и тотже указатель на переменную, в начальном значении работает первый остальные ожидают, в конце первого процеза изминяешь его что бы заработал второй и так далее.
|
|
|
RazrFalcon |
30.8.2011, 22:14
Сообщение
#3
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Эммм... как то слишком сложно.
Может можно просто запускать процессы руками, когда захочу? |
|
|
RazrFalcon |
31.8.2011, 11:01
Сообщение
#4
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
up!
|
|
|
wiz29 |
31.8.2011, 15:21
Сообщение
#5
|
Старейший участник Группа: Участник Сообщений: 600 Регистрация: 7.7.2010 Из: Санкт-Петербург Пользователь №: 1866 Спасибо сказали: 94 раз(а) Репутация: 12 |
а зачем в таком случае 3 процесса запускать? (если они решают последовательно задачу)
|
|
|
RazrFalcon |
31.8.2011, 15:55
Сообщение
#6
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Перефразирую.
Нужно запустить программу с разными ключами 3-и раза. Подряд. PS: вы про .Да, не подумал о таком... Но это как то странно выглядит.
|
|
|
MJIbIu |
31.8.2011, 16:26
Сообщение
#7
|
Студент Группа: Участник Сообщений: 38 Регистрация: 14.4.2010 Пользователь №: 1630 Спасибо сказали: 3 раз(а) Репутация: 0 |
Перефразирую. Нужно запустить программу с разными ключами 3-и раза. Подряд. PS: вы про .Да, не подумал о таком... Но это как то странно выглядит.а зачем запускать 3 раза если они будут у тебя идти по порядку ?
мб я не так понял Сообщение отредактировал MJIbIu - 31.8.2011, 16:27 |
|
|
RazrFalcon |
31.8.2011, 16:37
Сообщение
#8
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Ну сейчас так и происходит.
Разве что: приводит к зависанию главного окна, а не должен.По этому выкрутился, пока что, запуском процесса по окончании предыдущего:
Сообщение отредактировал RazrFalcon - 31.8.2011, 16:37 |
|
|
ssoft |
1.9.2011, 13:58
Сообщение
#9
|
Участник Группа: Участник Сообщений: 130 Регистрация: 17.2.2010 Из: Москва Пользователь №: 1470 Спасибо сказали: 30 раз(а) Репутация: 3 |
Вот так работает. Быстрый набросок.
main.cpp
ProcessManager.h
ProcessManager.cpp
|
|
|
RazrFalcon |
1.9.2011, 14:27
Сообщение
#10
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Оно то может и работает. Но у меня не консольное приложение.
У меня есть 2-а потока. Главный и второстепенный, в котором и запускается обработка. Так вот там уже Ваш способ не прокатит Проблема ведь в том, что я не могу запустить обработку НЕ в конструкторе класса, который помещаю в поток. |
|
|
Текстовая версия | Сейчас: 27.11.2024, 5:55 |