Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: QNetworkManager + QThread
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Ввод/Вывод, Сеть. Межпроцессное взаимодействие
AcRis
Пытаюсь написать многопоточное скачивание. Не могу понять принцип: что нужно засунуть в сам поток? что оставить снаружи (к примеру, QNetworkAccessManager?)? посему, если я создаю reply (QNetworkReply) в потоке, то он не испускате сигнала?
P.S. Прошу прощения за неточный вопрос, просто не могу уложить в голове, как что должно взаимодействовать.
DIMEDROLL
а ты уже написал однопоточное скачивание? как оно выглядит?
Алексей1153
Нужно запрашивать источник поблочно. Каждый поток должен знать, какой блок уже получен и запрашивать ещё не тронутые блоки. Потом данные собираются в кучку (вернее, изначально под данные нужно было место выделить и собирать эту мозаику)
Гость_AcRis_*
Цитата(Алексей1153 @ 18.7.2010, 6:09) *
Нужно запрашивать источник поблочно. Каждый поток должен знать, какой блок уже получен и запрашивать ещё не тронутые блоки. Потом данные собираются в кучку (вернее, изначально под данные нужно было место выделить и собирать эту мозаику)

У меня есть алгоритм очереди с локерами и мьютексами. Выкладываю свой код, однако он чрезвычайно кривой, поэтому заранее извиняюсь.:)
Проект компилится, только сохраняет пустой файл с корректным названием.
Ссылка на код
Алексей1153
AcRis, нет смысла копаться в коде (тем более, что ты сам его кривым считаешь) - распиши алгоритм в человечьем языке, а потом напиши чистый код уже по алгоритму :)
Мутексы вроде не нужны - процесс же один. А локеров в алгоритме нету (они есть в программе), поскольку локер по логике сидит в одной единственной функции, которая раздаёт задания и собирает уже принятые блоки
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2022 IPS, Inc.