![]() |
|
|
![]()
|
|
| kuvshinka |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 386 Регистрация: 27.4.2008 Репутация: нет Всего: нет |
Подскажите пож-та как правильно завершить работу потока:
пробую так
выдается предупреждение
Так как же правильно (без ошибок и предупреждений) закрывать поток? |
||||
|
|||||
| Vasya |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 5.7.2003 Репутация: нет Всего: нет |
Вообще таким образом удалять объекты QThread в Qt опасно, можно получить segmentation fault или что-то в вашем случае. Рекомендуется QObject::deleteLater(). А зачем в функции создавать отдельный поток, если надо поодождать его завершения, чтоб удалить? Наверно правильно было бы удалить его из самого себя, после того как он завершит свои дела, если конечно, не нужно его завершить экстренно.
Это сообщение отредактировал(а) Vasya - 6.11.2014, 22:15 |
|||
|
||||
| Vasya |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 5.7.2003 Репутация: нет Всего: нет |
Можно еще просто
|
|||
|
||||
| borisbn |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
иначе м.б. больно )) -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
||||||
|
|||||||
| kuvshinka |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 386 Регистрация: 27.4.2008 Репутация: нет Всего: нет |
я пробовала в программе 1
Предыстория: программа_1 обменивается по сети данными с программой_1...в программе_2 есть возможность перезапуска программы_1: при этом она должна корректно закрыться, удалив у себя все указатели и закрыв все свои потоки, заново запуститься и установить соединение с программой_2...Так вот при таком удалении указателя на объект потока (deleteLater) при автоперезапуске программы_1 не устанавливается связь с программой_2 (т.е. поток вроде стартует, но данных как бы нет, при удалении через delete связь после автоперезагрузки восстанавливается, но возникает вышеуказанное предупреждение) Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
![]()
|
| Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |