2中方式,除主线程外其他线程设置为后台线程,即background thread,这是线程创建时的一个属性,另一种就是应用程序退出时的事件里手动退出线程
----
void Application_Exit(object sender,args e)
{
//threadabort();
}
好像是这样写吧,好久没用C#了,有点忘了,MSDN上有详细的说明
socket是非托管资源,我的理解是最好首先清理(在其他线程前);
导致winform程序崩溃原因如下:
1、如果WinForm程序中使用了线程,而线程调用的代码中会抛出异常,该异常没有任何Try块处理。就会导致程序从主线程中跳出,导致WinForm程序突然崩溃性关闭。
2、程序读写某些外部资源,比如数据库、串口、并口、网络等。当这些资源发生堵塞或者出现问题,有可能会导致WinForm程序长时间处于等待状态,程序就会类似于死机现象。
3、写程序的时候,程序出现逻辑错误,导致死循环,或者线程死锁。如果该程序是在主线程中,就会导致WinForm程序死机。
以上就是关于C# winForm Socket 多线程 编程 关闭问题全部的内容,包括:C# winForm Socket 多线程 编程 关闭问题、什么原因导致winform程序崩溃、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)