Tokio
Tokio provides:
- 非同期のコードを実行するためのマルチスレッドのランタイム。
- 標準ライブラリの非同期バージョン。
- 大きなライブラリのエコシステム。
Speaker Notes
-
tokio::main
のマクロにより、main
の非同期処理を作ることができます。 -
spawn
関数は新しい並行の「タスク」を作成します。 -
注意:
spawn
はFuture
を引数に取るため、count_to
に対して.await
を呼ぶことはありません。
さらなる探求:
-
どうして
count_to
は(通常は)10に辿り着かないのでしょうか?これは非同期処理のキャンセルの例です。tokio::spawn
は完了まで待機するためのハンドラを返します。 -
プロセスを新しく作る代わりに、
count_to(10).await
を試してみてください。 -
tokio::spawn
から返されたタスクを待機してみてください。