首頁 >後端開發 >C#.Net教程 >Task用法之任務等待wait實例

Task用法之任務等待wait實例

零下一度
零下一度原創
2018-05-18 16:10:3612365瀏覽

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn