TL;DR

  • Rust の async/await は、簡潔な記述をコンパイラが状態遷移マシンに書き換えることで、スタックを使わない低コストな非同期実行を実現している。
  • 本書は、async/await の仕組みを実装を通して理解し、代表的な使い方を身につけられる構成になっている。

対象読者

数千から数万のネットワーク処理を並行して扱うアプリケーションを作りたい人に向けた本である。OS のスレッドでも並行処理は書けるが、オーバーヘッドが大きく、この規模の並行性を実現するのは難しい。そのため、プロセスの中で複数のタスクをスケジューリングする非同期機構が、さまざまな言語で採用されている。

目次

  1. 非同期プログラミング入門
  2. 非同期Rustの基本
  3. 非同期キューの自作
  4. 自作非同期ランタイムへのネットワークの統合
  5. コルーチン
  6. リアクティブプログラミング
  7. Tokioのカスタマイズ
  8. アクタモデル
  9. デザインパターン
  10. 外部ライブラリに依存しない非同期サーバの構築
  11. テスト

感想

訳者の方が注釈をたくさん入れてくれているので、むしろそこが勉強になっている。

関連