Как правильнее использовать потоки в Python?

Следующая проблема: Программа состоит из окна авторизации и главного окна, на которой отображен флаг соединения с удаленным сервером При инициализации главного окна создается поток, пингующий сервер, в случае неудачи изменяет значение флага и на протяжении 30 секунд пробует переподключиться. Если не получается - отображает сообщение об ошибке и возвращает на окно авторизации. Так было задумано, но получается, что после отображения сообщения об ошибке и закрытие главного окна программа зависает Как в такой ситуации правильно спроектировать отдельный поток?


Ответы (1 шт):

Автор решения: DiHASTRO

Занесите нужные вам фрагменты кода в функции. Допустим:

def flag():
    #тут ваш код, проверяющий флаг
from threading import Thread
#ваш код
#перед началом самой программы пишите:
Thread(target=flag).start()
#ваша программа

Что это даёт: поток выполняется, даже если код стоит на каком-нибудь input.

Большее вы можете узнать из документации threading


Всем добра-бобра

→ Ссылка