Thread.Abort()方法无法终止线程 线程 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不管你写程序,也不管你做什么,都不要调用Abort()这个方法。 不建议使用Abort()。建议添加一个私有变量bool _isContinue;当要结束或者退出时设置_isContinue=false,线程就会跳出死循环,让线程自行终止。以下是修改你的代码:while (_isContinue){ buf = new byte[512]; this.serverSocket.Receive(buf); string receiveString = Encoding.UTF8.GetString(buf); //这里写得有问题,安全机制不允许这样跨线程调用主线程控件。自行度娘修改 this.textBoxReceive.Text += "客户端说:" + receiveString + "\r\n";} 这还要问为什么么?调用Abort相当于你直接通过拔插头来关闭电脑。 今天刚学了一点多线程,abort是用来终止线程的。一般来说应该是能用的,之所以在你的程序中没起作用,可能是因为你的线程处于不正常的状态了。以前在学过windows api中,有TerminateThread好像就是可以终止线程的,但是也说了,状态会处于不确定 若要终止线程的运行,可以使用下面的方法:·线程函数返回(最好使用这种方法)。· 通过调用E x i t T h r e a d函数,线程将自行撤消(最好不要使用这种方法)。· 同一个进程或另一个进程中的线程调用Te r m i n a t e T h r e a d函数(应该尽量避免使用这种方法)。· 包含线程的进程终止运行(应该尽量避免使用这种方法)。 是的,很多人用电脑都把它当作家电,直接拔下插头或者按下接线板的开关就算关机了。也确实,在MSDOS下,似乎文明一点的做法就是退到DOS命令符(天知道有没有驻留程序还在运行),就直接关机。 动画程序跟单片机串口通信问题(项目外包) C#检测.net框架是否安装,以及安装的版本。谁知道代码呀? 关于窗体调用的问题 C#中鼠标事件 c#:请确保在试用某个资源之前尚未将其释放 现在开始认真学习离散数学 怎样把word文档直接显示在浏览器中 时间处理!!!在线! 请教各位高手,发布自己写的winfrom程序哪种方式好 刚做C#的项目,在数据库模块中关闭SqlDataReader问题,在线!!! 怎样取消SelectedIndexChanged事件? C# 如何在DataSet里的某列数据做为查询条件并另一个表的数据进来??
建议添加一个私有变量bool _isContinue;当要结束或者退出时设置_isContinue=false,线程就会跳出死循环,让线程自行终止。以下是修改你的代码:while (_isContinue)
{
buf = new byte[512];
this.serverSocket.Receive(buf);
string receiveString = Encoding.UTF8.GetString(buf);
//这里写得有问题,安全机制不允许这样跨线程调用主线程控件。自行度娘修改
this.textBoxReceive.Text += "客户端说:" + receiveString + "\r\n";
}