Полная версия этой страницы:
Многопоточность и QProcess
RazrFalcon
8.1.2012, 5:00
Программа создает n потоков.
В каждом потоке в конструкторе создается QProcess (через new).
Затем главный поток посылает потокам сигналы, которые запускают эти QProcess. По завершению поток возвращает главному сигнал о завершении и главный снова посылает сигнал дочернему.
Вопрос:
что лучше:
1) создавать (как сейчас) QProcess сразу, а потом запускать его нужное количество раз
2) создавать когда нужно, а по окончанию удалять
?
Litkevich Yuriy
8.1.2012, 16:41
в общем случае всё-равно.
Факторы для выбора:
1) создание объекта - медленная вещь
2) каждый объект съедает определённое кол-во памяти.
Enforcer
21.1.2012, 17:41
А подскажите по 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
В qt3 есть waitForFinished у QProcess?
Enforcer
23.1.2012, 12:24
Я понял, что надо дожидаться завершения выполнения скрипта и самого процесса, но waitForАinished в Qt3 я не нашел.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.