Относительно проблемы 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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