线程的终止问题。痛苦ing。 // 但是在程序终止时这个线程不会被终止如果函数可以正常返回,那自己就会中止,无需显式调用Abort() 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 定义一个bool全局变量在结束按钮里面重设它在你的线程里面判断 Abort是强制关闭线程,不大好 参考:public class MyThread { public static void Work() { try { for( int i = 0; i < 4; i++ ) { Console.WriteLine( Thread.CurrentThread.Name + "正在计算" + i.ToString() ); Thread.Sleep( 50 ); } } catch( ThreadAbortException e ) { Console.WriteLine( "错误信息:{0}", e.Message ); Thread.ResetAbort();//取消主线程要求中止的请求,如不执行则ThreadAbortException会在catch块末端再次引发 } Console.WriteLine( Thread.CurrentThread.Name + "完成工作!" ); }} class ThreadAbortTest{ public static void Main() { Console.WriteLine( "主线程启动!"); Thread thread = new Thread( new ThreadStart( MyThread.Work ) );//MyThread.Work代表要执行的线程函数,它可以是静态的,也可以是某个类实例的方法,它是要执行的线程函数的委托 thread.Name = "MyThread"; thread.Start();//线程启动后将被CPU调度,但不一定是马上执行,所以同样的例子在不同的机器上可能会有不同的结果。 Console.WriteLine( "主线程第一次休眠!"); Thread.Sleep( 100 ); Console.WriteLine( "MyThread被挂起!"); thread.Suspend();//挂起子线程 Console.WriteLine( "主线程第二次休眠!"); Thread.Sleep( 100 ); Console.WriteLine( "MyThread被恢复!"); thread.Resume();//恢复子线程 thread.Abort();//终止子线程 thread.Join();//直到到子线程完全终止了,主线程才继续运行 Console.WriteLine( "主线程终止!" ); Console.ReadLine(); }} 你使用的是阻塞式的Socket?在侦听消息时线程可能不会被终止设置Blocking为false试试。 C# 线程问题 C# 数据共享 绑定数据的DataGridView改变行位置 哪位好心人帮忙下载这个资源! C# 读取不同根节点的XML文件内容 为什么无法生成解决方案? !SOS十万火急!线程的问题! UserControl问题 谁会链表啊!!! 弱弱的问问 把这些封装到类里究竟有什么好处 谁有c#下的语音聊天方面的有关控件? Type.GetType 和 typeof 问题
在结束按钮里面重设它
在你的线程里面判断
设置Blocking为false试试。