我的应用程序在它们自己的线程上启动多个长时间运行的函数/方法。当其中一个线程遇到错误时,我的程序会崩溃(如预期的那样)。不过,我的问题是,应用程序产生的所有线程是否都停止执行?还是他们在某个地方闲逛?如果是这样,我是否需要编写另一个应用程序来监视它们以便我可以杀死它们?
谢谢!
我的应用程序在它们自己的线程上启动多个长时间运行的函数/方法。当其中一个线程遇到错误时,我的程序会崩溃(如预期的那样)。不过,我的问题是,应用程序产生的所有线程是否都停止执行?还是他们在某个地方闲逛?如果是这样,我是否需要编写另一个应用程序来监视它们以便我可以杀死它们?
谢谢!
当一个进程完成时,该进程中包含的所有线程都将终止。线程不能存在于进程之外。应用程序崩溃 = 进程终止。
如果您从线程中产生进程,那么您产生的进程将在产生过程结束后继续运行。您可以在任务管理器和代码中终止进程树,但默认情况下,如果您的应用程序不正常结束,生成的进程将继续运行。
我假设这就是你所说的意思
我的应用程序在自己的线程上启动多个长时间运行的进程
但也许我误解了你的意思
如果创建所有线程的进程被终止/中止,则操作系统会自动中止线程。换句话说:正在运行的进程=至少一个正在运行的线程,已终止的进程=所有线程终止。