Russian Qt Forum

Qt => Вопросы новичков => Тема начата: thechicho от Декабрь 20, 2011, 20:28



Название: qt4.8.0 Multithreaded HTTP
Отправлено: thechicho от Декабрь 20, 2011, 20:28
http://labs.qt.nokia.com/2011/12/15/qt-4-8-0-released/

Multithreaded HTTP
HTTP requests are now handled in a separate thread by default. This should make application guis smoother, as networking will no longer use the main event loop.

в чем фишка?


Название: Re: qt4.8.0 Multithreaded HTTP
Отправлено: kambala от Декабрь 20, 2011, 20:36
в том, что все запросы идут в отдельном потоке, а не в потоке гуи (основном)?


Название: Re: qt4.8.0 Multithreaded HTTP
Отправлено: thechicho от Декабрь 20, 2011, 20:55
а чо это дает то? они ж асинхронно работают. то есть запрос отправляется и управление обратно возвращается...
если делать синхронную работу через
Код
C++ (Qt)
QEventLoop loop;
connect(reply, SIGNAL(finished()), &loop, SLOT(quit()));
loop.exec();
то гуи поток будет тормозиться...

смысл от этого нововведения мне не понятен.
все равно, если нужна синхронная и многопоточная отправка запросов, придется все выносить в отдельный поток.


Название: Re: qt4.8.0 Multithreaded HTTP
Отправлено: kambala от Декабрь 20, 2011, 21:16
значит какая-то часть все равно раньше выполнялась в главном цикле обработки событий и слегка тормозила гуи, а теперь уже нет


Название: Re: qt4.8.0 Multithreaded HTTP
Отправлено: thechicho от Декабрь 20, 2011, 21:22
ниачем изменение, имхо. или может я просто не понимаю, как его правильно использовать.


Название: Re: qt4.8.0 Multithreaded HTTP
Отправлено: LisandreL от Декабрь 20, 2011, 21:28
а чо это дает то? они ж асинхронно работают. то есть запрос отправляется и управление обратно возвращается...
Ну как минимум если процессор многоядерный, то потоки распределятся по ядрам, а в случае одного - всё работает только на одном.
Ну и как следствие так как обработка в отдельном потоке, то в гуй-потоке на гуй приходится больше процессорного времени и как следствие гуй становится «smoother».