Task用法之任務等待wait執行個體

來源:互聯網
上載者:User
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);        }

運行結果:

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.