C#学习常用类(2000)---Thread类(前台与后台线程)
2016-12-08 10:15
381 查看
Foreground and Backgound Threads:
托管线程或者是后台线程,或者是前台线程。 后台线程不会使托管执行环境处于运行状态,除此之外,后台线程与前台线程是一样的。 一旦所有前台线程在托管进程(其中 .exe 文件是托管程序集)中被停止,系统将停止所有后台线程并关闭。
注意
当运行时因为进程关闭而停止某个后台线程时,不会在该线程中引发异常。 但是,当线程是因为 AppDomain.Unload 方法卸载应用程序域而停止时,将同时在后台和前台线程中引发 ThreadAbortException。
可使用 Thread.IsBackground 属性确定线程是后台线程还是前台线程,或更改其状态。 通过将其 IsBackground 属性设置为 true,可在任何时候将线程更改为后台线程。
重要事项
属于托管线程池的线程(即其 IsThreadPoolThread 属性为 true 的线程)是后台线程。 从非托管代码进入托管执行环境的所有线程都被标记为后台线程。 通过创建并启动新的 Thread 对象而生成的所有线程都默认为前台线程。
如果使用一个线程监视活动(例如套接字连接),请将其 IsBackground 属性设置为 true,以便该线程不会阻止进程终止。
请参阅
Thread.IsBackground
Thread
ThreadAbortException
备注:转自https://msdn.microsoft.com/zh-cn/library/h339syd0(v=vs.110).aspx
托管线程或者是后台线程,或者是前台线程。 后台线程不会使托管执行环境处于运行状态,除此之外,后台线程与前台线程是一样的。 一旦所有前台线程在托管进程(其中 .exe 文件是托管程序集)中被停止,系统将停止所有后台线程并关闭。
注意
当运行时因为进程关闭而停止某个后台线程时,不会在该线程中引发异常。 但是,当线程是因为 AppDomain.Unload 方法卸载应用程序域而停止时,将同时在后台和前台线程中引发 ThreadAbortException。
可使用 Thread.IsBackground 属性确定线程是后台线程还是前台线程,或更改其状态。 通过将其 IsBackground 属性设置为 true,可在任何时候将线程更改为后台线程。
重要事项
线程的前台或后台状态不影响线程中未经处理的异常的结果。 在 .NET Framework 2.0 版中,前台或后台线程中的未经处理的异常都将导致应用程序终止。 请参见 Exceptions in Managed Threads。 |
如果使用一个线程监视活动(例如套接字连接),请将其 IsBackground 属性设置为 true,以便该线程不会阻止进程终止。
请参阅
Thread.IsBackground
Thread
ThreadAbortException
备注:转自https://msdn.microsoft.com/zh-cn/library/h339syd0(v=vs.110).aspx
相关文章推荐
- Varnish Install And Configure
- Insert Date and Time into Access
- asp的SQL语句中and和or同时使用的注意事项
- 拖动Html元素集合 Drag and Drop any item
- 学习drag and drop js实现代码经典之作
- And,Where使用提示以及用+进行左关联的提示及注意事项
- Android开发adb.exe' and can be executed.错误解决方法
- Table ‘xxx’ is marked as crashed and should be repaired 错误解决方法参考
- drag-and-drop实现图片浏览器预览
- python关键字and和or用法实例
- Python and、or以及and-or语法总结
- Python中AND、OR的一个使用小技巧
- Nginx中IF、AND、OR语句用法实例
- Android 自定义View实现画背景和前景(ViewGroup篇)
- 负载均衡及会话保存(Ofbiz框架)
- Multithreading and Synchronization
- Due Care and Due Diligence
- DAS, NAS, and SAN
- Security Descriptors and Access Control Lists Tools and Settings
- settimeout、setInterval调用传递参数