有些 Crate 支援非同步管道。例如 tokio
:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Speaker Notes
-
將管道大小變更為 3
,瞭解這對執行作業的影響。
-
整體而言,這個介面類似於早上課程中看到的 sync
管道。
-
請嘗試移除 std::mem::drop
呼叫。會發生什麼情況?為什麼?
-
Flume Crate 具有同時實作 sync
和 async
的 send
和 recv
的管道。對於有 IO 和大量 CPU 處理工作的複雜應用程式,這相當便利。
-
之所以較適合使用 async
管道,是因為這類管道能與其他 future
管道結合,進而建立複雜的控制流程。