總體來說,非同步應用程式有潛力比相對應的多執行緒實作來得更快更節省資源。不過,
它仍然有個成本。執行緒由作業系統原生提供,使用上不需要特殊的程式設計模式,任意
的函式都可建立執行緒,且呼叫使用執行緒的函式就和呼叫普通函式一樣容易。然而,非
同步的函式需要程式語言或函式庫特殊的支援。在 Rust 的世界,async fn 會建立一個
非同步函式,函式會返回一個 Future。若要執行函式主體,則返回的 Future 必須執行
直到完成。
傳統多執行緒的程式可以達到高效,而 Rust 少量的記憶體足跡與預測性代表了用了
async,你可以走得更遠。非同步程式設計模型帶來的複雜度並非總是值得,該仔細考慮
你的應用程式是否在簡單多執行緒模型下能跑得更好。