后台与前台线程
2018-06-22 06:38:59来源:未知 阅读 ()
摘自MSDN
托管线程或者是后台线程,或者是前台线程。后台线程不会使托管执行环境处于运行状态,除此之外,后台线程与前台线程是一样的。一旦所有前台线程在托管进程(其中 .exe 文件是托管程序集)中被停止,系统将停止所有后台线程并关闭。
注意 |
---|
当运行库因为进程关闭而停止某个后台线程时,不会在该线程中引发异常。但是,当线程是因为 System.AppDomain.Unload(System.AppDomain) 方法卸载应用程序域而停止时,将同时在后台和前台线程中引发 ThreadAbortException。 |
请使用 Thread.IsBackground 属性确定线程是后台线程还是前台线程,或更改其状态。通过将其 IsBackground 属性设置为 true,可在任何时候将线程更改为后台线程。
要点 |
---|
线程的前台或后台状态不影响线程中未处理异常的结果。在 .NET Framework 2.0 版中,前台或后台线程中的未处理异常都将导致应用程序终止。请参见托管线程中的异常。 |
属于托管线程池的线程(即其 IsThreadPoolThread 属性为 true 的线程)是后台线程。从非托管代码进入托管执行环境的所有线程都被标记为后台线程。通过创建并启动新的 Thread 对象而生成的所有线程都默认为前台线程。
如果使用一个线程监视活动(例如套接字连接),请将其 IsBackground 属性设置为 true,以便该线程不会阻止进程终止。
意思是程序的主线程一旦关闭(主线程代码执行体运行完毕,程序将关闭),后台线程将别强制关闭,并不会引发异常。所以如果有后台线程在运行,要保证前台线程不会关闭。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:C# 6.0 的那些事
下一篇:多线程中变量的内存分配
- ASP.NET MVC Admin主页快速构建 2020-03-23
- ASP.NET使用AjaxPro实现前端跟后台交互详解 2020-03-19
- 深入浅析WinForm 进程、线程及区别介绍 2020-02-20
- asp.net后台注册js的方法 2019-10-08
- C#后台调用前台javascript的方法 2019-09-08
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash