Given a simple script as the following, why is using daemon flag useful? Maybe this is too simple, but I understand that daemon threads are generally long running background tasks (they are not meant to be waited for as quoted by Raymond Hettinger). So, if I have a task that I am not waiting for and simply start a non-daemon thread and not join, is that psuedo-daemon? It seems the functionality runs the same. Or is this more of a question of memory than processing logic? With the second question Im actually not sure how much resources this script consumes in the aspects of daemon vs non-daemon
from threading import Thread
import time
import sys
def func():
for i in range(4):
print(f"Running Thread-{i}")
time.sleep(1)
t = Thread(target=func)
# t.daemon = True # nothing seems to change
t.start()
sys.exit()