【发布时间】:2013-06-20 13:33:25
【问题描述】:
我创建了一个 Windows 服务应用程序,我打开了大约 10000 个线程,我想关闭所有线程,就像我关闭 winform 应用程序时所有后台线程都关闭一样,我该如何做到这一点?我不想将所有这些线程的引用存储在一个数组中并使用循环关闭所有线程。
在我使用 Winform 应用程序之前,当我关闭 Winform 应用程序时,所有后台线程都会自行关闭。我想完成类似的事情来关闭 Windows 服务应用程序中的所有线程
任何想法将不胜感激。
【问题讨论】:
-
如果你只处理停止消息而不做任何其他事情,操作系统应该在大约 20 秒后停止所有线程。
-
我不清楚你的意思?你的意思是如果我只是过度使用 OnStop 消息并且什么都不做它会停止所有线程吗?还是您的意思是,如果我不覆盖 OnStop 方法,它将关闭所有线程?
-
在我的覆盖中它只有'base.OnStop();'
-
我试过了,没有关闭所有线程,你确定调用base.OnStop真的关闭了所有线程吗?
-
嗨,马丁詹姆斯,请将您的答案发布为答案,我会将其标记为答案,因为这对我有帮助。
标签: c# multithreading windows-services