我有一个运行多个线程的 .NET Windows 服务。开发人员向其中添加了一些新线程,但忘记添加代码以在服务停止之前退出线程。当我停止服务时,它似乎正常停止,但服务停止后exe进程继续运行几秒钟。在此期间发生了什么以及线程发生了什么?
最佳答案
如果您不终止线程,而是正确处理 ServiceStop 消息,则其他线程将继续运行约 20 秒,然后操作系统终止服务进程,并在此过程中终止线程。
一般来说,似乎没有任何伤害。
关于.net - 如果 Windows 服务在停止时不退出线程会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14245089/