TL;DR
- Rust の async/await は、簡潔な記述をコンパイラが状態遷移マシンに書き換えることで、スタックを使わない低コストな非同期実行を実現している。
- 本書は、async/await の仕組みを実装を通して理解し、代表的な使い方を身につけられる構成になっている。
対象読者
数千から数万のネットワーク処理を並行して扱うアプリケーションを作りたい人に向けた本である。OS のスレッドでも並行処理は書けるが、オーバーヘッドが大きく、この規模の並行性を実現するのは難しい。そのため、プロセスの中で複数のタスクをスケジューリングする非同期機構が、さまざまな言語で採用されている。
目次
- 非同期プログラミング入門
- 非同期Rustの基本
- 非同期キューの自作
- 自作非同期ランタイムへのネットワークの統合
- コルーチン
- リアクティブプログラミング
- Tokioのカスタマイズ
- アクタモデル
- デザインパターン
- 外部ライブラリに依存しない非同期サーバの構築
- テスト
感想
訳者の方が注釈をたくさん入れてくれているので、むしろそこが勉強になっている。