1.Wait 用法
預設情況下,Task 是有執行緒池中的非同步執行緒執行,是否執行完成,可以透過Task的的屬性IsCompleted 來判斷,
如果想在子執行緒工作完成之後,在進行後續主執行緒工作可以透過呼叫task.Wait() 來等待執行緒完成,呼叫Wait 後,目前執行緒會被阻塞,直到到子執行緒完成。
程式碼範例:
static void Main(string[] args) { Task t = Task.Run(() => { Thread.Sleep(500); Console.WriteLine("Lance"); Thread.Sleep(500); }); Console.WriteLine("t.IsCompleted=" + t.IsCompleted); t.Wait(); Console.WriteLine("t.IsCompleted=" + t.IsCompleted); }
執行結果:
2.Wait 設定等待時間
static void Main(string[] args) { Task t = Task.Run(() => { Thread.Sleep(500); Console.WriteLine("Lance"); Thread.Sleep(500); }); Console.WriteLine("t.IsCompleted=" + t.IsCompleted); bool IsComplate= t.Wait(200); Console.WriteLine("wait 200毫秒后 t.IsCompleted=" + t.IsCompleted); Thread.Sleep(1000); Console.WriteLine("t.IsCompleted=" + t.IsCompleted); }
執行結果:
以上是Task用法之任務等待wait實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!