Category: tech
-
Async and Await
Async and Await 實現非同步編程的原因之一經常被誤解為可以改善“性能”。這通常被理解為“它讓我的代碼運行得更快”。我在此告訴你,這個說法完全是錯誤的;非同步編程不會讓你的代碼執行得更快。 非同步編程真正做到的是增加可以同時處理的請求數量,使用同樣的資源。與同步系統相比,同樣數量的執行緒可以在非同步系統中處理更多同步請求。簡而言之,非同步編程改善的不是性能而是吞吐量。 (從更高層面看,非同步代碼的結果看起來像是代碼運行得更快,這導致了前面提到的誤解。但實際上系統只是同時做更多事情,允許更多吞吐量)。 讓我們用一個類比來說明這一點,這絕對是說明一個複雜概念的萬全之策。:) 假設我們有一家餐廳。在這家餐廳裡,下單後,訂單被送到廚房做烹飪。廚房裡有一群廚師,他們的工作是製作每個訂單所需的食物。我們可以使用兩種廚房:同步廚房和非同步廚房。 在同步廚房中,每位廚師在任何給定時間只能接到一個訂單。他們必須完全依靠自己完成該訂單的所有工作。這意味著如果項目需要進烤箱,他們將全神貫注地等在那裡,耐心地等待物品烹飪完成,而不做其他任何事情。因此這間廚房只能同時處理 X…
-
-