Re[2]: Всем привет! Помогите плз разобраться с потоками
От: Аноним  
Дата: 02.08.11 13:54
Оценка:
Здравствуйте, reich, Вы писали:

R>Можно сделать в MyThread сигнал, который будет испускаться при завершении работы потока, а MainWindow будет иметь слот, связанный с сигналом потока и, соответсвенно, вызовется после завершения работы потока.


Спасибо!
Черт, не совсем корректно объяснил что хочу, сорри. Про слот не катит, щас переформулирую...



MyThread thr;


void MainWindow::on_pushButton_clicked()
{
    this->thr.start(QThread::NormalPriority);
    
    // все 3 функции лезут в сокет который работает в другом потоке (thr) и пока не придет ответ из сети, следующая функция не должна запускаться
    this->Func_1();
    
    // здесь нужно дождаться пока из сетки не приплывет ответ на Func_1() 
    this->Func_2();

    // здесь нужно дождаться пока из сетки не приплывет ответ на Func_2() 
    this->Func_3();
    
    this->thr.exit();
} 


void MyThread::run()
{
    // здесь происходит отправка/прием всякого мусора по сети/из сети

    //мусор оправил
    //долго и мучительно мусор принимал

    //теперь надо сообщить в MainWindow что можно приступать к следующей функции, например Func_2()
  
    exec();
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.