“卡死”是一个非常主观的描述,如果你要让主线程杀掉卡死的线程,那么你必须给“卡死”做出准确的定义。
公司主营业务:网站制作、成都网站制作、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出松原免费做网站回馈大家。
什么是卡死?30秒没有响应就是卡死?那么“没有响应”的定义又是什么?
你给出这些条件以后,杀掉一个线程就不难。Abort方法,Dispose方法,都可以。
用
t.Suspend() 这个是挂起线程。是一个异步方法。
t.Sleep 我看了是一个同步方法。要等这个方法运行完了才继续下一步。
这和from.show和 from.showdiaglog区别差不多!
至于疑问2我也没找到原因。
1、可能进入了死循环,仔细检查代码有无这种情况。
2、无用的数据一直在累积而没有及时销毁,导致内存占用越来越大,最终崩溃。要注意对象随用随清,及时 Dispose 掉或调用 GC.Collect。