我在做一个多线程的程序,用C#写的,可是为什么我关闭了所有窗口以后,应用程序还不退出

我在做一个多线程的程序,用C#写的,可是为什么我关闭了所有窗口以后,应用程序还不退出,而要在任务管理器中结束进程呢???... 我在做一个多线程的程序,用C#写的,可是为什么我关闭了所有窗口以后,应用程序还不退出,而要在任务管理器中结束进程呢??? 展开
 我来答
哲事姓无
推荐于2017-12-15 · TA获得超过1176个赞
知道小有建树答主
回答量:903
采纳率:100%
帮助的人:437万
展开全部
有3个办法,
1. 启动线程时记录所有线程,然后在窗口都退出后结束这些线程
2 将你的线程设置为后台线程(IsBackground = true),这样窗口都退出后这些线程会自动结束。
3 或是来个狠点的 System.Environment.Exit

1. 最好,但代码会有一点多,还有Application .exit 是退出消息泵,关闭窗口的,跟关闭线程没有多大关系。要使用 Environment.Exit
更多追问追答
追问
System.Environment.Exit,貌似最简单,哪它有什么缺点吗?
追答
System.Environment.Exit 好不好看情况而定。因为大多数情况下程序免不了与读写文件、数据库或是某些资料打交道,而在处理的过程中需要打开文件、读写、关闭。而在这些过程中使用System.Environment.Exit强制进程退出,这样没有机会关闭资源了,而这会造成某些资源文件的损坏,比如数据库损坏、或是文件只写了一半数据进去。而如果是一些纯计算类的工作的话那就不用考虑这些情况了。
Raiuy
2012-12-23 · TA获得超过2916个赞
知道大有可为答主
回答量:2210
采纳率:0%
帮助的人:883万
展开全部
在结束程序的时候,把所有的线程都结束,不然就会出现这种情况
追问
网上说用Application.Exit()这个是什么意思,我什么我使用它不行呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yangZheng006
2012-12-23 · TA获得超过102个赞
知道答主
回答量:151
采纳率:0%
帮助的人:74.5万
展开全部
当然了,技即使是线程你也要返回
来自:求助得到的回答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
a859059789
2013-03-13
知道答主
回答量:20
采纳率:0%
帮助的人:5.3万
展开全部
这件东西有啥特别之处。”尤里。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式