C# 关闭主窗口后让所有线程都停止工作
参考资料:http://hi.baidu.com/liusc/blog/item/df822f290206cef498250afe.html
设置线程的IsBackground属性为True
.net 提供了Thread类用于线程的操作。 当初始化一个线程,把Thread.IsBackground=true的时候,指示该线程为后台线程。后台线程将会随着主线程的推出而退出。后台线程不妨碍程序的终止,只要所有前台线程都终止后,CLR就会对每一个活在的后台线程调用Abort()来彻底终止应用程序。 【注意】当在主线程中创建了一个线程,那么该线程的IsBackground默认是设置为FALSE的。也就是说,当主线程推出的时候,IsBackground=FALSE的线程还会继续执行下去,知道线程执行结束。只有IsBackground=TRUE的线程才会顺着主线程的推出而退出。 static void Main(string[] args) trd[0].Start(); public static void ThreadA() 执行上面的例子可以知道,当主线程显示退出的时候,只要那些IsBackground=TRUE的线程随着主线程一起退出了,而那些IsBackground=FALSE还是需要等到自己执行完成完了之后才会退出。 当主线程不显示推出的时候,结果更是奇怪,就是代码执行到最后,主线程应该算是可以退出了。但是这时候IsBackground=FALSE的线程也不退出。也是要等到执行完成后才退出。 可见,.net中的线程应该是尽量保证所有线程都执行完了后才让整个程序退出。具体是个什么个规则就该去问微软了啊!! |
转载于:https://www.cnblogs.com/dabaopku/archive/2011/12/16/2289613.html
C# 关闭主窗口后让所有线程都停止工作相关推荐
- pyqt5如何在关闭主窗口时,关闭所有的其余的窗口
在PyQt5中,你可以通过覆盖QMainWindow或QWidget的closeEvent()方法,来处理关闭窗口时的事件.你可以在该方法中通过遍历应用程序中所有的窗口,并将它们关闭来实现关闭所有其余 ...
- office2010:打开和关闭Word文档提示“Microsoft Word已停止工作”的解决办法
最近下了个Word文档,用Word2010打开,点一下"启用编辑"后显示"Microsoft Word已停止工作",然后就自动重启了.而且编辑过程中经常无缘无故 ...
- Appcan关闭主窗口
1-uescript('zhuce','appcan.window.close(-1)') 2-js /*** 在其他窗口中执行指定主窗口中的代码* @param String wn 需要执行代码窗口 ...
- plsql强制关闭后再打开提示已停止工作的解决办法
昨天下班时强制关闭了plsql,早晨过来打开就提示已停止工作,最后无奈备份了配置文件重装,但是问题没能解决,依然提示停止工作.百度也没有找到有用的信息,在这里记录一下,方便遇到同样问题的朋友. 解决办 ...
- Windows程序奔溃后,禁止弹出“停止工作”对话框
在Win7及以后的系统中,如果一个程序发生了奔溃,系统会弹出一个"XX已停止工作"的对话框,如果不去这个窗口上点击"关闭程序",那么这个窗口会一直存在,最为关键 ...
- win7远程桌面怎么关闭计算机,Win7旗舰版系统远程桌面停止工作
win7系统中一项强大的功能就是远程桌面,可以方便用户远程操作其他的计算机,但是有win7旗舰版系统用户却遇到了开启远程桌面的时候提示停止工作,导致远程桌面无法连接的问题,这该怎么办?现在就给大家讲讲 ...
- Windows 7 打开PDF文件后提示 Adobe Reader 已停止工作问题
Windows 7 打开PDF文件后提示Adobe Reader XI (Adobe Reader 11.0.0) 已停止工作问题分享一下 打开PDF一会后提示以下信息 试过卸载,重安装,反复搞了几 ...
- 关闭主窗口,启动另一个窗口
//按钮启动第二个窗口 private void button1_Click(object sender, EventArgs e) {//另起一个线程启动第二个窗口 new Thread(showF ...
- python tkinter 窗口关闭_用python中的tkinter从顶层窗口关闭主窗口
这是我的第一个问题,我是python和这个网站的新手.在 我正在设计一个与数据库交互的应用程序.我添加了一个"关闭"按钮,我想打开一个新窗口,询问"关闭程序?" ...
最新文章
- 什么是视觉Visual SLAM
- cassandra hbase_为什么选择Cassandra
- Server Tomcat v6.0 Server at localhost was unable to start within 45 seconds...
- python PyQt5中文教程☞【第一节】PyQt5简介
- 【首发】徐亦达团队新论文推荐:模限界矩阵分解
- Linux centosVMware zip压缩工具、tar打包、打包并压缩
- mysql安装check requirements出错_超详细的MySQL8.0.17版本安装教程
- Python 中三大框架各自的应用场景
- 浅谈iptables防SYN Flood攻击和CC攻击
- (11)Zynq SPI控制器介绍
- NO.47 确定项目要完成的需求列表
- source insight工程的相对路径
- (13)数据结构-先序中序还原二叉树
- 汽车零部件开发工具巨头V公司全套bootloader中UDS协议栈源代码
- 手机号码格式和邮箱格式校正
- Rabbitmq Ambiguous payload parameter for public xxx
- selenium click点击无反应问题
- Centos7 更改Apache默认网站目录
- macOS 11+ Big Sur SIP 禁用部分项方法
- Python-PyYAML
热门文章
- springboot项目中mybatis实现数据的基本查询
- Flutter Trying to embed a platform view but the PrerollContext does not support embedding
- Java中对数组的排序方法总汇分析
- Vue 左右翻页,点赞动画
- Supervisor-类unix系统下的进程控制工具
- python使用suds来调用webservice
- 收集数据至泛型Dictionary
- Suse系统用户不能登录报错
- Spring Framework--SpringMVC(1)--DispatcherServlet
- IE下img多余5像素空白