crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> QThread и QNetworkAccessManager
di.em
  опции профиля:
сообщение 17.3.2011, 14:14
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 6
Регистрация: 17.3.2011
Пользователь №: 2511

Спасибо сказали: 0 раз(а)




Репутация:   0  


Есть класс Thread наследуемый от QThread
вот его run():

void Thread::run()
{
    QNetworkAccessManager  nm;
    nm.get(QNetworkRequest(QUrl("http://doc.qt.nokia.com/latest/qthread.html")));
}


при создании нескольких объектов данного класса + ->start()

Часто конфликты мутексов и памяти:
QMutex::lock: mutex lock failure: Недопустимый аргумент
*** glibc detected *** ... : corrupted double-linked list: 0x081f8e18 ***
...

Объясните пожалуйста причину такого странного поведения
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
ufna
  опции профиля:
сообщение 17.3.2011, 20:39
Сообщение #2


Активный участник
***

Группа: Участник
Сообщений: 362
Регистрация: 24.5.2008
Из: Курган/СПб
Пользователь №: 182

Спасибо сказали: 29 раз(а)




Репутация:   5  


я лично делаю один слот finished, но в зависимости от objectName, который я задал QReply (который в финишд и войдет как sender()), кидаю разным обработчикам и все. Один слот, один механизм, профит.


Не понял правда в чем заключается последний вопрос :) По сабжу в принципе объект удаляется при выходе из функции, но какому потоку он принадлежит? Тут все так лево, что с асинхронными апи надо быть уверенным что все лежит там, где надо.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 15.1.2025, 18:48