Task用法之任務等待wait實例

零下一度
發布: 2018-05-18 16:10:36
原創
12320 人瀏覽過

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

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!