其實所有跟 Task 有關的操作裡面,重要的事情一直只有一項
哪些會繼續往下跑、還有哪些會阻塞 (要等的意思)
今天再來看看 GetAwaiter() 的阻塞與不阻塞
其實所有跟 Task 有關的操作裡面,重要的事情一直只有一項
哪些會繼續往下跑、還有哪些會阻塞 (要等的意思)
今天再來看看 GetAwaiter() 的阻塞與不阻塞
async 非同步
await 等待
前面我們看過了 Task 幾種使用方法
那如果今天我們想要的是
1. 三個好友同時搶廉航機票,只要任一人搶成功,就可以成行
=> Task.WaitAny
2. 三個好友同時從起點出發,全部都抵達終點才算獲勝
=> Task.WaitAll
3. 三個好友接力賽跑,A 跑完才能換 B,B 跑完才能換 C
=> ContinueWith
在比較久以前的.NET Framework版本 大家可能直接操作過Thread
一言以蔽之 在絕大部份情況下
建議大家使用 Task 取代 Thread
再一個問題
前面我們討論過 Parallel,當然我們也可以同時 new 很多 Task,讓結果就像是 Parallel
那我該選擇哪個?
一言以蔽之 在絕大部份情況下
建議大家用 Parallel 取代 多個 Task