C# 前台線程與后台線程區別


using System;
using System.Drawing;
using System.Windows.Forms;
using System.Threading;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //前台線程和后台線程唯一區別就是:應用程序必須運行完所有的前台線程才可以退出;
            //而對於后台線程,應用程序則可以不考慮其是否已經運行完畢而直接退出,
            //所有的后台線程在應用程序退出時都會自動結束。
            MessageBox.Show("點擊按鈕啟動了一個前台線程。\r\n前台線程:“既然我上台了,我一定要表演完,不然我跟你沒完!”");
            //前台線程
            Thread t1 = new Thread(Say);
            t1.IsBackground = false;
            t1.Name = "前台線程";
            t1.Start();            
        }
        private void button2_Click(object sender, EventArgs e)
        {
            MessageBox.Show("點擊按鈕啟動了一個后台線程。\r\n后台線程:“既然我沒上台,我受制於應用程序,它關了我就自動關了(舞台都關了,我在后台再干活就沒意思了)!”");
            //后台線程
            Thread t2 = new Thread(Say);
            t2.IsBackground = true;
            t2.Name = "后台線程";
            t2.Start();
        }
        private void Say()
        {
            for (int i = 0; i < 100; i++)
            {
                MessageBox.Show("我演,我賣力的演!\n\r把主窗口關了,你看我還在不在?"+i.ToString());
            }
        }
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM