我想补充一点,如果你在
threading lib Python
,建议避免使用“恶魔”线程,当您不希望线程突然结束时,使用paolo rovelli标志
mentioned
。
官方文件:
守护进程线程在关闭时突然停止。它们的资源(如打开的文件、数据库事务等)可能无法正确释放。如果希望线程正常停止,请使它们非守护进程,并使用适当的信令机制(如事件)。
我认为创建守护线程取决于您的应用程序,但通常(在我看来)最好避免杀死它们或使它们成为守护线程。在多处理中,您可以使用
is_alive()
检查进程状态并“终止”以完成它们(也可以避免gil问题)。但有时,当你在windows中执行代码时,你会发现更多的问题。
永远记住,如果有“活线程”,python解释器将运行等待它们。(因为这个守护可以帮助你如果不要紧的话突然结束)。