C#异步启动后如何取消

 我来答
百度网友b91985e
2018-06-05 · TA获得超过201个赞
知道小有建树答主
回答量:170
采纳率:86%
帮助的人:40.3万
展开全部

问题描述不是很详细,如果出现问题是出程序关闭,发现代码没停,因为子线程还在无限循环,可以将子线程设置为后台线程,这样在主线程结算后子线程完成最后一次运行也跟着释放

thread = new Thread(new ThreadStart(DoWork));
thread.IsBackground = true;

如果不是在主线程结束的时候停止子线程,也有几种情况,一个是子线程挂起,暂时不执行,等待被唤醒,另一种情况是关闭子线程,之后不再运行,需要再运行的时候重新new一个新的线程

//挂起(暂停)
thread.Suspend();
//可恢复执行挂起的线程
thread.Resume();
//释放子线程
thread.Abort();
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式