HI,
我有一个过度使用线程的.NET应用程序。在退出时,该过程不会自杀。是否有任何工具可以显示导致问题的原因?虽然我已经彻底检查过但无法找到问题。
Abdul Khaliq
答案 0 :(得分:9)
答案 1 :(得分:2)
这意味着您正在运行一些前台线程。除非所有前台线程都完成执行,否则.net应用程序不会终止。
您可以将线程标记为后台线程,然后检查(Thread.IsBackground属性)。请注意,所有后台线程在应用程序退出时立即终止。如果你在这些线程中做了一些重要的工作,比如将数据序列化到数据库,那么你应该只将它们作为前台线程。背景线程适用于拼写等等非关键事物。
答案 2 :(得分:1)
通常,使用调试器附加应该告诉您哪些线程仍处于活动状态以及它们上运行的代码。