前台线程与后台线程

来源:互联网 发布:月歌师走驱打歌服淘宝 编辑:程序博客网 时间:2024/05/22 12:48

Net的CLR将线程分为前台和后台线程,前台线程是用户线程,后台线程是守候线程。

这两者的区别就是:应用程序必须运行完所有的前台线程才可以退出;而对于后台线程,应用程序则可以不考虑其是否已经运行完毕而直接退出,所有的后台线程在应用程序退出时都会自动结束,后台线程不会阻止进程终止,一旦属于某一进程的所有前台线程都终止,公共语言运行库就会通过对任何仍然处于活动状态的后台线程调用   Abort   来结束该进程。  

Thread.IsBackground   设置为   true,就可以将线程指定为后台线程。同样,通过将   IsBackground   设置为   false,就可以将线程指定为前台线程。

线程的前后台属性在线程运行前制定。

    通过创建并启动新的   Thread   对象而生成的所有线程都是前台线程。如果要创建希望用来侦听某些活动(如套接字连接)的前台线程,则应将   Thread.IsBackground   设置为   true,以便进程可以终止。