C++ (Qt)void myClass::run(){ while(true) { this->thread()->wait(50); if (!this->suspendFlag) { qDebug() << rand(); } }}
C++ (Qt)myClass::~myClass(){ qDebug() << this->currentThread()->isRunning(); this->thread()->quit(); qDebug() << this->currentThread()->isRunning();}
C++ (Qt)truetrue
C++ (Qt)bool running = true;...void myClass::run(){ while(running) { this->thread()->wait(50); if (!this->suspendFlag) { qDebug() << rand(); } }}
C++ (Qt)ThreadManager::~ThreadManager(){ this->threadIsRunning = false; this->wait(50);}
C++ (Qt)void myClass::run(){ while (!mStop) { .... }} inline void MyClass::SetStop( void ) { mStop = true; }
C++ (Qt)// запускаемMyClass * theThread = new MyClass();theThread->start(); ...// работаем... // убиваем ниткуtheThread->SetStop(); // даем ей выйти из run()theThread->wait(); // ждем пока выйдетdelete theThread; // теперь можно мочить
C++ (Qt)// убиваем ниткуtheThread->SetStop(); // даем ей выйти из run()theThread->deleteLater(); // пусть сам сдохнет как сочтёт нужным