Здравствуйте, гость ( Вход | Регистрация )
SABROG | Дата 26.10.2009, 13:11 |
Жесткое убийство потоков, это не правильное решение. Правильное/неправильное, а некоторые вещи могут подвесить поток навечно и до проверки флага дело никогда не дойдет. |
|
niXman | Дата 26.10.2009, 11:32 |
Как я понял за всё время существования потоков ничего кроме жестокого убийства потока и if (terminatedFlag) ничего не придумали? Жесткое убийство потоков, это не правильное решение. Не данный момент, самое правильное решение, это if (terminatedFlag) |
|
BRE | Дата 26.10.2009, 10:46 |
Для удобства можно инкапсулировать все в одном классе:
использовать этот класс можно примерно так:
P.S. Набирал прямо здесь, могут быть опечатки. |
|
rnd | Дата 25.10.2009, 13:48 |
Кстати, зачем спорить, на то чтобы понять запускает или нет - необходимо 10 сек: qthread.cpp
|
|
Litkevich Yuriy | Дата 25.10.2009, 11:53 |
Кто прав??? Документация, exec() - запускает цикл обработки событий (тык) |
|
Cergey | Дата 25.10.2009, 11:25 |
Цитата(AD @ 24.10.2009, 18:09) * Да кстати, exec() никакие циклы не запускает - проверял! Ты ошибаешься. Кто прав??? |
|
rnd | Дата 24.10.2009, 19:53 |
AD, приведите минимальный пример | |
BRE | Дата 24.10.2009, 17:17 |
Да кстати, exec() никакие циклы не запускает - проверял! Ты ошибаешься. |
|
AD | Дата 24.10.2009, 17:09 |
А что можно ввести? QEventLoop::exit (quit) и соответственно QThread::quit используют такой же подход со специальной переменной, при изменении которой цикл заканчивается. В своих циклах нужно использовать свои переменные. А почему это решение не нравиться? Стоп.... Не пойму о каком еще цикле, который заканчивается, идет речь? Если нет своего цикла, то вообще в функцию run() задет раз и выйдет, все... О каком цикле идет речь, который заканчивается с помощью quit()? Да кстати, exec() никакие циклы не запускает - проверял! А почему это решение не нравиться? Да почему, нормальное решение. Но уж очень какое-то искусственное! |
|
Cergey | Дата 24.10.2009, 16:24 |
Всегда, если подумать, можно установить условие для выхода!!! Создавал потоки и так и не понял зачем нужен exec() ( причем тут for ) и что такое event loop!!! Объяесните кто может??? |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 29.3.2024, 11:58 |