1. 程式人生 > >C#:執行緒(4):執行緒等待

C#:執行緒(4):執行緒等待

執行緒等待,或者說叫等待執行緒。其語句是  執行緒名.Join()   。按照我的理解,這個語句其實是告訴系統程式,這個執行緒很重要,你必須使用全部的計算資源供他計算,等他計算結束了之後再回到這個位置。

 

 

舉例來說,下面這個程式就用了執行緒等待的技術,t.Join()使得cpu先執行完了t執行緒內的計算然後再繼續主函式的運算。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using System.Threading;
using static System.Console;

namespace Ch01Re03
{
    class Program
    {
        static void Main(string[] args)
        {
            WriteLine("Starting...");
            Thread t = new Thread(PrintNumbersWithDelay);
            t.Start();
            t.Join();

            WriteLine("Thread ends...");

            ReadKey();

        }

        static void PrintNumbersWithDelay()
        {
            WriteLine("Thread starting...");
            for (int i=0;i<10;i++)
            {
                Thread.Sleep(TimeSpan.FromSeconds(2));
                WriteLine(i);
            }
        }
    }
}

當主執行緒執行到t.Jooin()一句時,跳轉到t執行緒並等待t執行緒執行完成後再跳轉回主執行緒繼續執行