Как завершить поток когда концы основной программы?

Если у меня есть поток в бесконечном цикле, есть ли способ завершить его, когда концы основной программы (например, когда я нажимаю Ctrl+C)?

74
задан martineau 20 November 2019 в 00:37
поделиться

1 ответ

Потоки демона уничтожаются неизящно, таким образом, любые инструкции по финализатору не выполняются. Возможное решение состоит в том, чтобы проверить, основной поток, живо вместо бесконечного цикла.

, Например, для Python 3:

while threading.main_thread().isAlive():
    do.you.subthread.thing()
gracefully.close.the.thread()

Видят Проверка, если Основной Поток все еще жив от другого потока .

0
ответ дан 24 November 2019 в 11:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: