在脚本运行过程中有一个主线程,若在主线程中创建了子线程,当主线程结束时根据子线程daemon属性的值的不同可能会发生两种情况:
属性daemon值默认为False,如果需要修改,必须调用start()方法启动线程之前进行设置,另外注意到恶事,上面的描述并不适合用于 IDLE 环境中的交互模式或者脚本运行模式,因为在该环境中的主线程只是在退出python IDLE时才终止。
影响:
所有的daemon=True的子线程有可能遭遇强制退出,但这时子线程可能正在向标准控制台输出内容,而当前进程已结束,导致标准控制台被释放,子线程无法取得访问权限,从而引发异常。