Asyncチャネル

Several crates have support for asynchronous channels. For instance tokio:

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Speaker Notes

This slide should take about 8 minutes.
  • チャネルサイズを 3に変えてみて、これがどのように処理に影響するか確認してみましょう。

  • Overall, the interface is similar to the sync channels as seen in the morning class.

  • std::mem::dropの呼び出しを除いてみましょう。何か起こるでしょうか?それはなぜでしょうか?

  • Flumeクレートにはsyncasyncsendrecvの両方を実装するチャネルがあります。 これは入出力と重いCPUの処理のタスクの両方を含む、複雑なアプリケーションで便利です。

  • asyncチャネルを扱うことを好ましくするのは、チャネルと繋げるためにや、複雑なコントロールフローを作るために、チャネルを他のfutureと繋げられることです。