crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> Нужно ли завершать потоки (QThread) перед закрытием программы?
RazrFalcon
  опции профиля:
сообщение 5.2.2012, 19:54
Сообщение #1


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

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




Репутация:   212  


сабж, есть ли профит от:

void MainWindow::closeEvent(QCloseEvent *)
{
    foreach (QThread *th, findChildren<QThread *>()) {
        th->quit();
        th->deleteLater();
    }
}


Сообщение отредактировал RazrFalcon - 5.2.2012, 20:01
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 5.2.2012, 20:25
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

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




Репутация:   44  


Цитата(RazrFalcon @ 5.2.2012, 20:54) *
сабж, есть ли профит от:

Да, к тому же нужно дождаться реального завершения нитки.

void MainWindow::closeEvent(QCloseEvent *)
{
    foreach (QThread *th, findChildren<QThread *>()) {
        th->quit();
                th->wait();
        th->deleteLater();
    }
}

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 6.2.2012, 20:26
Сообщение #3


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

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




Репутация:   212  


Инетересно =/
Я делал:
th->wait();
th->quit();
и прога зависала, значит поядок важен?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 6.2.2012, 20:28
Сообщение #4


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

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




Репутация:   44  


Цитата(RazrFalcon @ 6.2.2012, 21:26) *
значит поядок важен?

Конечно. Сначала нужно сказать - "Завершайся", и только потом начинать ждать завершения.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Orfus
  опции профиля:
сообщение 7.2.2012, 11:18
Сообщение #5


Студент
*

Группа: Участник
Сообщений: 25
Регистрация: 26.10.2011
Пользователь №: 2967

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




Репутация:   0  


Есть ещё один профит. Насколько мне известно чтобы получит ачивку "Win7 совместимо" необходимо прогнать твою прогу на анализ утечек памяти, а без завершения потоков сомневаюсь что её получите ;)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 29.11.2024, 8:00