我有一个后台线程的asp.net应用程序。线程在应用程序启动时启动,并在应用程序结束时正常停止。我在共享主机上运行网站。不幸的是,有时应用程序在结束时不会触发Application_End事件。我认为线程会被杀死,但事实并非如此。我目前有4个线程在后台运行。应用程序开始前三次,当前应用程序会话中一次。如何确保在应用程序结束时关闭线程?是否有线程检查应用程序是否已重置或重置了的方法?或者有没有办法在应用程序启动时检查这些流氓线程并杀死它们?提前致谢。如何确保后台线程在应用程序结束时结束?
1
A
回答
4
使用ThreadPool.QueueUserWorkItem()在后台执行代码,当AppDomain卸载时将结束代码。我假设你正在使用背景工作,根据标签,我会建议尝试这个。 (考虑加入示例代码绘制出更好的答案。)
管理线程池:http://msdn.microsoft.com/en-us/library/0ka9477y.aspx
前景/背景主题:http://msdn.microsoft.com/en-us/library/h339syd0.aspx
相关问题
- 1. 永不结束后台线程?
- 2. Pasue控制台应用程序结束
- 3. 如何在睡眠时结束线程?
- 4. Xamarin.IOS应用程序保持开始和结束许多线程
- 5. 应用程序未能正常结束并在后台运行
- 6. 如何结束程序(Python)?
- 7. 如何知道后台线程的结束?
- 8. 仅在线程结束后继续
- 9. 如何在win中结束线程CF
- 10. 如何在通话结束后启动应用程序?
- 11. http.Clientrequest.abort()结束程序
- 12. 如何在通话结束时调用/启动应用程序?
- 13. 活动指示器动画在应用程序从后台恢复时结束
- 14. 用Python结束程序
- 15. 如何在线程运行()结束后立即调用方法?
- 16. 如何使用户结束该程序?
- 17. 蟒蛇:如何在主程序结束
- 18. Java多核线程 - 线程未结束
- 19. AsyncQuery处理程序线程何时结束?
- 20. Xcode信号到结束应用程序
- 21. Qt GUI应用程序意外结束
- 22. 线程没有结束/超时
- 23. JavaFX - stage.show();在程序冻结结束
- 24. 如何保持禁用,直到一个线程控制结束
- 25. MFC线程问题 - 在所有线程完成后,程序不会结束
- 26. 如何确定Silverlight应用程序中的调整大小何时结束?
- 27. 程序结束后退出Visual Studio 2010
- 28. 程序结束后发布文件
- 29. 如何在几秒钟后结束线程
- 30. 如何在运行方法结束后清理线程?
究竟如何开始你的线程? – 2010-08-12 04:09:22
鉴于应用程序中的某些线程仍在运行,很显然,应用程序并没有“结束”,只有你认为'前景'线程有。如果您为后台任务使用System.Threading.Threads,则可以将它们的IsBackground属性设置为true。 – Ani 2010-08-12 04:12:13
谢谢Ani,我不知道这个属性,我认为这看起来会解决问题。 – Noel 2010-08-13 16:02:55