当前位置: 首页 > 面试题库 >

如何从Python线程退出整个应用程序?

宗政才俊
2023-03-14
问题内容

如何从其线程之一退出整个Python应用程序?sys.exit()仅终止调用它的线程,所以没有帮助。

我不想使用os.kill()解决方案,因为这不是很干净。


问题答案:

如果除主线程之外的所有线程都是守护进程,则最佳方法通常是thread.interrupt_main()-任何线程都可以使用它KeyboardInterrupt在主线程中引发a
,这通常会导致从主线程中合理地干净退出(包括主线程中的终结器被调用等)。

当然,如果这导致某些非守护进程线程使整个过程保持活动状态,则需要os._exit按照Mark的建议进行后续操作-但我认为这是最后的手段(有点像kill -9;-),因为它终止了事情非常残酷(finalizer不能运行,包括try/finally块,with块,atexit函数等)。



 类似资料:
  • 问题内容: 用代码退出Java应用程序的最佳方法是什么? 问题答案: 您可以用于此目的。 根据oracle的Java 8文档: 终止当前正在运行的Java虚拟机。参数用作状态码;按照惯例, 非零状态代码表示异常终止 。 此方法在类Runtime中调用exit方法。此方法永远不会正常返回。 该调用实际上等效于该调用:

  • 本文向大家介绍Android编程之退出整个应用程序的方法,包括了Android编程之退出整个应用程序的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android编程之退出整个应用程序的方法。分享给大家供大家参考,具体如下: 我们在写android应用程序时,经常会遇到想退出当前Acitivity,或者直接退出应用程序.我之前的一般操作是按返回键,或者直接按home键直接返回,其实这

  • 本文向大家介绍python子线程退出及线程退出控制的代码,包括了python子线程退出及线程退出控制的代码的使用技巧和注意事项,需要的朋友参考一下 下面通过代码给大家介绍python子线程退出问题,具体内容如下所示: 跑起来是没有问题的,但是使用ctrl + c中断的时候出问题了,主线程退出了,但子线程仍然运行。 于是在主线程增加了信号处理的代码,收到sigint时改变子线程循环条件 这样ctrl

  • 情况可能是这样的,我有5个活动。说主活动,活动1,活动2,活动3,活动4。 一个人可以使用活动1,2,3 情境:用户进入主活动,并按下按钮进入活动2。然后他反压并返回主活动。从那里他现在在另一个按钮的帮助下进入活动3,同样,当他按下后退按钮时,他进入主活动。 主要活动- 问题:现在当用户从活动3进入主活动时。用户处于主活动布局中。现在,如果用户按下手机上的后退按钮,则将执行以下过程退出应用程序:

  • 问题内容: 我有一个非常简单的问题,但是我没有使用Mysql从SP退出任何简单的代码。谁能和我分享该怎么做? 问题答案:

  • 问题内容: 如果我的React Native应用无法连接到其后端,我会显示一个带有OK按钮的Alert。如果发生这种情况,应用程序将无法继续运行,因此我想在单击按钮时将其关闭。我该怎么做呢? 我怀疑密钥在AppRegistry中,但是文档有点匮乏。 问题答案: 今天没有反应本机的特定方法。您必须从事物的本机方面完成此任务。 此外,您正在为iOS开发吗?苹果已经表示,应用程序不应自行关闭。