Найти - Пользователи
Полная версия: Не могу убить поток QThread
Начало » Python для экспертов » Не могу убить поток QThread
1 2
PEHDOM
@cckyi_boxxx есть все же мнение чть это некошерно, py.user.next уже давал ссылку на статью по этой теме, если английским туго можно прочитать статью по мотивам
@cckyi_boxxx
PEHDOM, читал, однако нашел Qthread более предпочтительным для тех задач от которых в том посте отговаривают, я конечно могу ошибаться но тут нет совокуплений с GIL, я пришел к такому выводу когда на практике использовал потоки из стандартной либы (Threading и _thread) , в связи с тем что они оперировали данными из основного потока при большом количестве потоков гуй подвисал, а с QThread такого не наблюдалось. Понятное дело что мою задачу можно было решить иначе, но мне так удобнее. (в проекте всего около 30 - 50 потоков с циклами while True и обработкой данных внутри)

Что до приведенного мной примера, просто захотел сказать что пилить отдельный класс не обязательно, иногда удобнее отправить какой-либо отдельный метод в поток, и с QThread это прокатывает.

И наконец в статье не дается конкретных примеров возможных проблем при таком использовании QThread, одни лишь рекомендации возведенные в абсолют.

Из наблюдений могу добавить еще одну особенность, если не отлавливать в QThread ошибки то при их возникновении падает вся программа, поэтому у меня весь код функции после ее дебага помещается под try - except: run() для надежности, на случай ошибок которые я не смог предусмотреть. В этом плане “стандартные” потоки лучше, упал поток а софт живет.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB