Здравствуйте, гость ( Вход | Регистрация )
|
DrWebber |
15.1.2015, 11:27
Сообщение
#1
|
|
Новичок Группа: Новичок Сообщений: 3 Регистрация: 9.5.2012 Пользователь №: 3370 Спасибо сказали: 0 раз(а) Репутация: 0
|
Всем привет. Возник вопрос как правильно организовать обработку данных в разных потоках?
Есть вот такой класс(схематично): Экземпляров этого класса может быть....ну допустим 10. Я понимаю, что рекомендуется использовать 1 QNetworkAccessManager в приложении, но мне нужно чтобы запросы отправлялись через разные прокси. Так же есть класс-генератор запросов, который вызывает функции sendGET и sendPOST, он работает в отдельном потоке QThread. Мне нужно чтобы данные, которые приходят в replyFinished обрабатывались параллельно, т.е. в данном случае в 10 потоков. Я пробовал создавать для каждого Requester свой QThread, но тогда я не мог вызывать из другого потока функции sendGET и sendPOST, вываливалось вот такое сообщение: Создавал вот так: Когда так делал, класс Requester выглядел немного по-другому - вся инициализация была в функции startInThread(). Собственно вопрос: как такое правильно реализовать? |
|
|
|
![]() |
|
lanz |
16.1.2015, 9:19
Сообщение
#2
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8
|
А зачем вообще треды? Создайте 10 экземпляров в одном потоке.
QnetworkAccessManager работает асинхронно, поэтому проблем никаких не будет. В этом же потоке обрабатывайте данные по мере поступления. |
|
|
|
DrWebber Парсинг ответов QNetworkAccessManager в разных потоках 15.1.2015, 11:27
DrWebber Цитата(lanz @ 16.1.2015, 9:19) А зачем во... 18.1.2015, 15:31
lanz ЦитатаВ том-то и дело, что мне нужно чтобы данные ... 18.1.2015, 16:58
Iron Bug Цитата(lanz @ 18.1.2015, 18:58) Если данн... 19.1.2015, 13:30
lanz Цитатаэто утверждение неверно. обработка может быт... 19.1.2015, 14:52![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 30.12.2025, 4:44 |