C#:執行緒(4):執行緒等待
阿新 • • 發佈:2018-11-11
執行緒等待,或者說叫等待執行緒。其語句是 執行緒名.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執行緒執行完成後再跳轉回主執行緒繼續執行