Я немного запутался в том, что означает установка потока как демона.
В документации сказано следующее:
Поток можно пометить как «поток демона». Значение этого флага заключается в том, что вся программа Python завершается, когда остаются только потоки демона. Начальное значение наследуется от создающего потока. Флаг можно установить через свойство daemon.
Я не уверен, что отличает это от обычного потока.
Это говорит о том, что эта программа никогда не закончится?
def threadfunc():
while True:
time.sleep(1)
threading.Thread(target=threadfunc).start()
Даже если основной поток завершает выполнение. Пока кончим сразу?
def threadfunc():
while True:
time.sleep(1)
th = threading.Thread(target=threadfunc)
th.daemon = True
th.start()
Я спрашиваю, потому что у меня есть ситуация, когда в моем основном потоке я вызываю sys.exit (), и процесс просто зависает, а другие мои потоки выполняются, поскольку я могу видеть журнал.
Связано ли это с вызовом sys.exit () с живыми потоками?