C# winForm Socket 多线程 编程 关闭问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# winForm Socket 多线程 编程 关闭问题相关的知识,希望对你有一定的参考价值。
关闭窗体时为什么在进程中还有exe程序,还有的就是如果想做个重置,应该如何做,关闭Socket和线程的顺序
2中方式,除主线程外其他线程设置为后台线程,即background thread,这是线程创建时的一个属性,另一种就是应用程序退出时的事件里手动退出线程----
void Application_Exit(object sender,args e)
//thread.abort();
好像是这样写吧,好久没用C#了,有点忘了,MSDN上有详细的说明
socket是非托管资源,我的理解是最好首先清理(在其他线程前); 参考技术A 关闭窗口 ,你应该用appliction.exit(),另外建议先关闭 通讯在关闭线程。先关闭线程 会导致,你得程序死掉的。 参考技术B 设置线程为后台线程(IsBackground),否则子线程未结束,主线程结束后不会结束子线程。如System.Threading.Thread thread = new System.Threading.Thread();
thread.IsBackground = true; 参考技术C 多线程程序,如果是直接关闭窗口的话,只会关闭主线程,关闭的时候要用application.exit(),才会关闭其它的线程 参考技术D application.exit()是结束程序this.close()是关闭当前窗体
以上是关于C# winForm Socket 多线程 编程 关闭问题的主要内容,如果未能解决你的问题,请参考以下文章
请教C# WinForm编程高手,如何解决多界面耗时操作界面僵死的问题