Название: Как правильно запускать несколько потоков Отправлено: GamBitiK от Октябрь 21, 2014, 22:03 как их запустить 2шт и паралельно,отдельно коментирую каждую строчку и они запускаются а последовательных запуск,не работает
myservice.cpp #include "myservice.h" #include "mythread.h" #include "metka.h" MyService::MyService(int argc, char **argv):QtService<QCoreApplication>(argc,argv,"MyService") { try{ //Set the service information setServiceDescription("Служба для обработки электронных СМИ"); setServiceFlags(QtServiceBase::CanBeSuspended); } catch(...){ qCritical() << "Error in CONSTRUCTOR"; } } MyService::~MyService() { try{ //RELEASE memory } catch(...){ qCritical() << "Error in DESTRUCTOR"; } } void MyService::start() { try{ QCoreApplication *app = application(); qDebug() << "Service started"; qDebug() << app->applicationFilePath(); Thr = new MyThread; /* Met=new Metka; qDebug()<<"1"; Thr->run(); qDebug()<<"2"; Met->run();*/ // Thr->moveToThread(proc); // proc->start(); /* QThread* thread = new QThread; Metka* reader = new Metka; reader->moveToThread(thread); QThread* thread1 = new QThread; MyThread* reade = new MyThread; reade->moveToThread(thread1); QThread *thread = new QThread(); MyThread *tr = new MyThread; tr->moveToThread(thread); thread->start(); */ // Met=new Metka; // Met->run(); //MyClass.DoSomething } catch(...){ qCritical() << "Error in START"; } } void MyService::pause() { try{ qDebug() << "Service paused"; Thr->stop(); } catch(...){ qCritical() << "Error in PAUSE"; } } void MyService::resume() { try{ qDebug() << "Service resume"; Thr->start(); } catch(...){ qCritical() << "Error in RESUME"; } } void MyService::stop() { try{ qDebug() << "Service stoped"; Thr->terminate(); delete Thr; } catch(...){ qCritical() << "Error in STOP"; } } Название: Re: Как правильно запускать несколько потоков Отправлено: Old от Октябрь 21, 2014, 22:06 Нитки запускаются методом start, а не run.
Название: Re: Как правильно запускать несколько поток&# Отправлено: GamBitiK от Октябрь 21, 2014, 22:15 Код: MyThread::MyThread() заголовочник Код: #include <QDebug> Название: Re: Как правильно запускать несколько потоков Отправлено: gil9red от Октябрь 21, 2014, 23:12 GamBitiK, помещайте код в тег code (кнопка с решеткой на редакторе сообщений / выпадающий список ниже кнопки форматирования "Жирный").
Название: Re: Как правильно запускать несколько потоков Отправлено: GamBitiK от Октябрь 22, 2014, 13:06 Подскажите пожалуйста
|