Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
|
RazrFalcon |
8.1.2012, 5:00
Сообщение
#1
|
![]() Zombie Mod ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212
|
Программа создает n потоков.
В каждом потоке в конструкторе создается QProcess (через new). Затем главный поток посылает потокам сигналы, которые запускают эти QProcess. По завершению поток возвращает главному сигнал о завершении и главный снова посылает сигнал дочернему. Вопрос: что лучше: 1) создавать (как сейчас) QProcess сразу, а потом запускать его нужное количество раз 2) создавать когда нужно, а по окончанию удалять ? |
|
|
|
|
Litkevich Yuriy |
8.1.2012, 16:41
Сообщение
#2
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
в общем случае всё-равно.
Факторы для выбора: 1) создание объекта - медленная вещь 2) каждый объект съедает определённое кол-во памяти. |
|
|
|
|
Enforcer |
21.1.2012, 17:41
Сообщение
#3
|
|
Новичок Группа: Новичок Сообщений: 2 Регистрация: 19.1.2012 Пользователь №: 3142 Спасибо сказали: 0 раз(а) Репутация: 0
|
А подскажите по Qt3. Вынужден на нем писать.
Надо баш скрипт запускать. proc = new QProcess( this ); proc->addArgument( "sh" ); proc->addArgument( "-c" ); proc->addArgument( "/tmp/runme.sh" ); proc->start(); Оно запускается и скрипт отрабатывается, но прога начинает глючить. По кнопкам запускаются не те слоты и сами слоты по fopen перестают получать доступ к файлам. proc запускает баш скрипт в одном из слотов по кнопке. |
|
|
|
|
RazrFalcon |
21.1.2012, 21:39
Сообщение
#4
|
![]() Zombie Mod ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212
|
В qt3 есть waitForFinished у QProcess?
|
|
|
|
|
Enforcer |
23.1.2012, 12:24
Сообщение
#5
|
|
Новичок Группа: Новичок Сообщений: 2 Регистрация: 19.1.2012 Пользователь №: 3142 Спасибо сказали: 0 раз(а) Репутация: 0
|
Я понял, что надо дожидаться завершения выполнения скрипта и самого процесса, но waitForАinished в Qt3 я не нашел.
|
|
|
|
![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 23.12.2025, 2:58 |