winfrom前台线程和后台线程区别【转载】

载自https://www.cnblogs.com/zhangzhiping35/p/11058671.html

 1  public partial class Form1 : Form
 2     {
 3         public Form1()
 4         {
 5             InitializeComponent();
 6         }
 7         private void Say()
 8         {
 9             for (int i = 0; i < 100; i++)
10             {
11                 MessageBox.Show( "我演,我卖力的演!\n\r把主窗口关了,你看我还在不在?" + i.ToString());
12             }
13         }
14 
15         private void button1_Click_1(object sender, EventArgs e)
16         {
17             //前台线程和后台线程唯一区别就是:应用程序必须运行完所有的前台线程才可以退出;
18             //而对于后台线程,应用程序则可以不考虑其是否已经运行完毕而直接退出,
19             //所有的后台线程在应用程序退出时都会自动结束。
20             MessageBox.Show("点击按钮启动了一个前台线程。\r\n前台线程:“既然我上台了,我一定要表演完,不然我跟你没完!”");
21             //前台线程
22             Thread t1 = new Thread(Say);
23             t1.IsBackground = false;
24             t1.Name = "前台线程";
25             t1.Start();
26         }
27 
28         private void button2_Click_1(object sender, EventArgs e)
29         {
30             MessageBox.Show("点击按钮启动了一个后台线程。\r\n后台线程:“既然我没上台,我受制于应用程序,它关了我就自动关了(舞台都关了,我在后台再干活就没意思了)!”");
31             //后台线程
32             Thread t2 = new Thread(Say);
33             t2.IsBackground = true;
34             t2.Name = "后台线程";
35             t2.Start();
36         }
37     }

 

posted @ 2020-10-11 18:21  困到很想醒  阅读(92)  评论(0编辑  收藏  举报