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