Russian Qt Forum
Ноябрь 23, 2024, 21:50 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QNetworkAccessManager в отдельном потоке  (Прочитано 3031 раз)
QCasper
Гость
« : Сентябрь 15, 2010, 11:17 »

Я полагаю, что при загрузке данных, например с помощью метода QNetworkAccessManager::get, выполняются некоторые действия с участием QTcpSocket и, в итоге, непосредственная загрузка данных производится в отдельном потоке.
Так ли это и есть ли тогда смысл организовывать загрузку данных в отдельном потоке самостоятельно?
Записан
BRE
Гость
« Ответ #1 : Сентябрь 15, 2010, 11:22 »

Я полагаю, что при загрузке данных, например с помощью метода QNetworkAccessManager::get, выполняются некоторые действия с участием QTcpSocket и, в итоге, непосредственная загрузка данных производится в отдельном потоке.
Данные будут грузиться в том потоке, где создан объект QNetworkAccessManager, асинхронно.
Главное, что бы крутился eventloop.

Так ли это и есть ли тогда смысл организовывать загрузку данных в отдельном потоке самостоятельно?
При большом трафике имеет, а так нет.  Улыбающийся
Записан
QCasper
Гость
« Ответ #2 : Сентябрь 15, 2010, 11:28 »

То есть, если я начну грузить большое количество данных (из GUI потока), то интерфейс таки замёрзнет? Или там какой-то хитрый механизм с участием processEvents?
Записан
BRE
Гость
« Ответ #3 : Сентябрь 15, 2010, 11:33 »

То есть, если я начну грузить большое количество данных (из GUI потока), то интерфейс таки замёрзнет? Или там какой-то хитрый механизм с участием processEvents?
Ну тут не столько количества данных, сколько количества запросов будут иметь значение.
А так да, главный (GUI) поток должен будет это все разгребать.
Записан
QCasper
Гость
« Ответ #4 : Сентябрь 15, 2010, 11:36 »

Понятно, спасибо.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.241 секунд. Запросов: 20.