Tokio

Tokio provides:

  • 非同期のコードを実行するためのマルチスレッドのランタイム。
  • 標準ライブラリの非同期バージョン。
  • 大きなライブラリのエコシステム。
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Speaker Notes

  • tokio::mainのマクロにより、mainの非同期処理を作ることができます。

  • spawn関数は新しい並行の「タスク」を作成します。

  • 注意:spawnFutureを引数に取るため、count_toに対して.awaitを呼ぶことはありません。

さらなる探求:

  • どうしてcount_toは(通常は)10に辿り着かないのでしょうか?これは非同期処理のキャンセルの例です。 tokio::spawnは完了まで待機するためのハンドラを返します。

  • プロセスを新しく作る代わりに、count_to(10).awaitを試してみてください。

  • tokio::spawnから返されたタスクを待機してみてください。