新舊版的Task的差異在於舊版會鎖定執行緒

  • 1154
  • 0

新舊版的Task的差異在於舊版會鎖定執行緒

下表是舊版與新版的Task的差異,其中,舊版的Task會鎖定執行緒。

舊版 新版 描述
task.Wait await task 等待一個作業的完成
task.Result await task 取得一個完成的作業的結果
Task.WaitAny await Task.WhenAny 等待所有的作業的其中任何一個完成之後
Task.WaitAll await Task.WhenAll 等待所有的作業都已經完成之後
Thread.Sleep await Task.Delay 暫停一段時間在繼續執行
Task constructor Task.Run or TaskFactory.StartNew 建立一個以程式設計師自行撰寫的程式碼為基礎的Task

參考資料來源:

[1]Async and Await
http://blog.stephencleary.com/2012/02/async-and-await.html