Относительно проблемы QThread, выдающей готовый сигналC++

Программы на C++. Форум разработчиков
Anonymous
Относительно проблемы QThread, выдающей готовый сигнал

Сообщение Anonymous »

Код: Выделить всё

#define DEBUG qDebug()thread->quit();
d->thread->wait();
delete d->thread;
delete d;
}
Почему я печатаю только «поток завершен», когда я указываю Qt::DirectConnection, когда закрываю Mainwindow? Но если это Qt::QueuedConnection, этого не произойдет.
Что касается Qt::DirectConnection, я понимаю, что когда поток d-> выдает завершенный сигнал, печать будет выполнена немедленно в дочернем потоке. С другой стороны, для Qt::QueuedConnection объект this, то есть MainWindow, будет печататься в основном потоке. Сигнал будет помещен в конец очереди событий и будет обработан только тогда, когда его обработает цикл событий.
C++17, Qt 5.15.2, windows 11, CPU I7 13700, ОЗУ 16Гб

Подробнее здесь: https://stackoverflow.com/questions/793 ... hed-signal

Вернуться в «C++»