2013年5月16日 星期四

Thread.IsBackground 背景執行緒解析

關於IsBackground 背景執行緒 用於
當主程序 宣告另一個 線程時 而這線程裡有個計時器 1~10
主程序裡 也設一個計時器 1~4 之後 可按任何鍵 離開程式!

在沒有設定IsBackground 預設是False
在按下任意見時 是無法離開程式的

除非把Thread.IsBackground 設定成true
把線程成訂為 背景執行續
當主程序結束時~~ 線程如同終止程序

以下範例參考

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("啟動第二程序");
            Thread t=new Thread(new ThreadStart(work));
            t.IsBackground = false;
            t.Start();
            for (int i = 0; i <= 4; i++)
            {
                Console.WriteLine("計時4次主程序");
                Thread.Sleep(1000);
            }
            Console.WriteLine("主程序已跑完 按enter鍵可以離開");
            Console.ReadLine();
        }
        private static void work()
        {
            for (int i = 0; i <= 10; i++)
            {
                Console.WriteLine("線程執行中{0},{1}",i, Thread.CurrentThread.ThreadState);
                Thread.Sleep(1000);
            }
        }
    }
   
}<\code>

沒有留言:

張貼留言