相关疑难解决方法(0)

Python线程守护程序属性

关于将线程设置为守护进程意味着什么,我有点困惑.文档说明了这一点:

线程可以标记为"守护程序线程".这个标志的意义在于,当只剩下守护进程线程时,整个Python程序都会退出.初始值继承自创建线程.可以通过守护程序属性设置该标志.

我不确定是什么让这与普通线程不同.这是说这个程序永远不会完成吗?

def threadfunc():
    while True:
        time.sleep(1)

threading.Thread(target=threadfunc).start()
Run Code Online (Sandbox Code Playgroud)

即使主线程完成它的执行.而

def threadfunc():
    while True:
        time.sleep(1)

th = threading.Thread(target=threadfunc)
th.daemon = True
th.start()
Run Code Online (Sandbox Code Playgroud)

马上完成?

我问,因为我有一个情况,在我的主线程中我正在调用sys.exit(),并且进程只是挂起而我的其他线程正在运行,因为我可以看到日志.这与使用线程活动调用的sys.exit()有什么关系吗?

python multithreading daemon python-multithreading

44
推荐指数
3
解决办法
6万
查看次数