Форум сайта python.su
@cckyi_boxxx есть все же мнение чть это некошерно, py.user.next уже давал ссылку на статью по этой теме, если английским туго можно прочитать статью по мотивам
[code python][/code]
Отредактировано PEHDOM (Июль 21, 2019 22:54:07)
Офлайн
PEHDOM, читал, однако нашел Qthread более предпочтительным для тех задач от которых в том посте отговаривают, я конечно могу ошибаться но тут нет совокуплений с GIL, я пришел к такому выводу когда на практике использовал потоки из стандартной либы (Threading и _thread) , в связи с тем что они оперировали данными из основного потока при большом количестве потоков гуй подвисал, а с QThread такого не наблюдалось. Понятное дело что мою задачу можно было решить иначе, но мне так удобнее. (в проекте всего около 30 - 50 потоков с циклами while True и обработкой данных внутри)
Что до приведенного мной примера, просто захотел сказать что пилить отдельный класс не обязательно, иногда удобнее отправить какой-либо отдельный метод в поток, и с QThread это прокатывает.
И наконец в статье не дается конкретных примеров возможных проблем при таком использовании QThread, одни лишь рекомендации возведенные в абсолют.
Из наблюдений могу добавить еще одну особенность, если не отлавливать в QThread ошибки то при их возникновении падает вся программа, поэтому у меня весь код функции после ее дебага помещается под try - except: run() для надежности, на случай ошибок которые я не смог предусмотреть. В этом плане “стандартные” потоки лучше, упал поток а софт живет.
Офлайн