Привет.
Имеем класс
Worker который унаследован от
QObject в котором идет работа с
QNetworkAccessManagerТак же есть класс
Master который запускает работу
Worker через вызов
QtConcurrent:mapЗаметил такую ситуацию, что я не получаю ответ от
QNetworkAccessManager через сигнал
QNetworkReply::readyRead Но... стоит мне внутри метода
Worker реализовать QEventLoop
QNetworkReply *reply = this->manager->get(request);
QEventLoop loop;
loop.exec();
То ответ от
QNetworkAccessManager получаю.
Выходит, из этой документации
https://doc.qt.io/qt-5/threads-technologies.htmlТолько
QThread способен на
Thread can run an event loopТо есть внутри потока, (созданный
QtConcurrent:map) нет цикла обработки событий без моего
QEventLoop и поток просто уничтожается по достижении конца метода...
Походу для моего случая лучше испольлзовать
moveToThread