Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
|
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
|
Цитата(RazrFalcon @ 31.8.2011, 16:55) Link Перефразирую. Нужно запустить программу с разными ключами 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-а потока. Главный и второстепенный, в котором и запускается обработка. Так вот там уже Ваш способ не прокатит Проблема ведь в том, что я не могу запустить обработку НЕ в конструкторе класса, который помещаю в поток. |
|
|
|
![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 28.12.2025, 4:35 |