Какая разница, когда я устанавливаю поток Python в качестве демона

StackOverflow https://stackoverflow.com/questions/1411860

  •  05-07-2019
  •  | 
  •  

Вопрос

Какая разница, когда я устанавливаю поток Python в качестве демона, используя thread.setDaemon (True) ?

Это было полезно?

Решение

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

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

Например, если вы пишете приложение с графическим интерфейсом, а пользователь закрывает главное окно, программа должна выйти. Но если у вас есть не демонические потоки, это не так.

Из документов: http://docs.python.org/ библиотека / threading.html # threading.Thread.daemon

  

Его начальное значение наследуется от   создание потока; основная нить   не является потоком демона и, следовательно,   все темы, созданные в основной теме   по умолчанию это daemon = False.

     

Вся программа Python завершается, когда   не осталось живых потоков, не являющихся демонами.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top