2

我的应用程序在它们自己的线程上启动多个长时间运行的函数/方法。当其中一个线程遇到错误时,我的程序会崩溃(如预期的那样)。不过,我的问题是,应用程序产生的所有线程是否都停止执行?还是他们在某个地方闲逛?如果是这样,我是否需要编写另一个应用程序来监视它们以便我可以杀死它们?

谢谢!

4

3 回答 3

12

当一个进程完成时,该进程中包含的所有线程都将终止。线程不能存在于进程之外。应用程序崩溃 = 进程终止。

于 2012-04-19T18:15:00.177 回答
2

如果您从线程中产生进程,那么您产生的进程将在产生过程结束后继续运行。您可以在任务管理器和代码中终止进程树,但默认情况下,如果您的应用程序不正常结束,生成的进程将继续运行。

我假设这就是你所说的意思

我的应用程序在自己的线程上启动多个长时间运行的进程

但也许我误解了你的意思

于 2012-04-19T18:16:36.100 回答
1

如果创建所有线程的进程被终止/中止,则操作系统会自动中止线程。换句话说:正在运行的进程=至少一个正在运行的线程,已终止的进程=所有线程终止。

于 2012-04-19T18:16:16.430 回答