![]() |
|
|
![]()
|
|
| zloyGamer |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 67 Регистрация: 24.2.2008 Где: аватар какает Репутация: нет Всего: нет |
[qt4] как корректно остановить поток?
вот оно что, запускаю отдельный поток при нажатии на кнопку:
врод все элементарно и почти всегда работает, проблема в том что "почти"... а в чем конкретно засада непонятно... приложение зависает на my_thread->terminate() - если поток ещё выполняется; никаких сигналов/сотов с этим событием не связывал... в чем может быть проблема? |
|||
|
||||
| SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Выйти из цикла событий в методе QThread::run()
Потому, что это не корректное завершение потока. У меня на Delphi точно такая же ситуация. Если SQL сервер в потоке долго не возвращает управление, то иногда приходится откладывать это ожидание и переключаться на что-то более срочное. Я убиваю поток через TerminateThread и порой программа крашится. Причем я кучу всяких проверок написал, не помогают. |
|||
|
||||
| zloyGamer |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 67 Регистрация: 24.2.2008 Где: аватар какает Репутация: нет Всего: нет |
да ты прав,
с кучей проверок вроде и решилось, но над ещё нормально потесть.. спасибо |
|||
|
||||
![]()
|
| Правила форума "С/С++: Кроссплатформенное программирование, 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. |