C# 线程终止问题 像高手们请教个问题,C#中终止线程有几种方法?我用的是 .Abort(),但是我的线程里有语音和Socket通讯,线程好像就没有立即停止,而是等到Socket通讯完或语音播报完才停止?有什么方法可以解决呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用Abort是可以的,就是非常别扭。这里我推荐一个方法,利用Environment.Exit(0)即可。我在我的飞鸽传书中,使用很正常。 sleep()//是睡眠 里面写事件 然后.wake 就叫醒! .stop()是终止!... Abort()方法终止线程的时候,会等待线程完成一些正在进行的操作。。 Abort()方法终止线程的时候,确实会等待线程完成部分工作后再终止。。建议:自己设置一个标志,如:bool isRunning = false;在线程开始的时候设置:isRunning = true;在线程结束的时候设置:isRunning = false;所有操作均判断:if(isRunning){//执行动作;}这样的话,就不怕Abort带来的延迟了 C#简单线程收集C#中的多线程使用--使用回调函数从一个线程中检索数据C#中的多线程使用--Thread类 先谢谢大家,但问题还是没有解决呀,的确可以设个bool变量来标示下,但想Socket通讯这样还是得等到它超时,重点就是想立即终止这种能延迟性高的线程。网上看到了个关于Socket通讯线程立即终止的方法,就是终止线程时对自己发个信息(例如'1'),再把Socket线程里对返回的信息进行判断(为'1'就退出)。方法是行,但总感觉不是最好的方法。还有就是线程中有语音怎么办,因为语音要循环所以要阻塞到语音播放完,这里怎么判断呀,总不能把一句话裁成"一个字一个字播放再判断"的吧? 那个...MSDN上的我早就已经看过了,并没有解决我的问题。 请问这个快递状态跟踪表如何设计比较好? C# winform 关于datagridview显示图片的问题 泛型坐标排序问题 关于WPF多点触控问题 问个sql2005缓存依赖的问题。 急啊, 晕倒了。 构造TcpClient,它所封装的Socket细节是怎样的? 求一个DataGridView列前显示+的例子 关于水晶报表 急,如何将2个XmlDocument合并成一个xml use java.util.zip in NET ftp上传文件 Winform中点击一个按钮可以复印文本框里的内容
建议:
自己设置一个标志,如:bool isRunning = false;
在线程开始的时候设置:isRunning = true;
在线程结束的时候设置:isRunning = false;
所有操作均判断:
if(isRunning)
{
//执行动作;
}
这样的话,就不怕Abort带来的延迟了
C#中的多线程使用--使用回调函数从一个线程中检索数据
C#中的多线程使用--Thread类
网上看到了个关于Socket通讯线程立即终止的方法,就是终止线程时对自己发个信息(例如'1'),再把Socket线程里对返回的信息进行判断(为'1'就退出)。方法是行,但总感觉不是最好的方法。
还有就是线程中有语音怎么办,因为语音要循环所以要阻塞到语音播放完,这里怎么判断呀,总不能把一句话裁成"一个字一个字播放再判断"的吧?