November 2025
Intermediate to advanced
984 pages
16h 17m
Japanese
非同期プログラミングへの通常のアプローチは、すべてか無かというアイデアばかりです。すべてのコードを書き換えてブロックがまったく発生しないようにするか、ただ何もしないかという選択肢しかありません。
—— Alvaro Videla、Jason J. W. Williams
『RabbitMQ in Action』†1
[†1] VidelaとWilliamsによる『RabbitMQ in Action』(Manning)の、4章『Solving Problems with Rabbit: coding and patterns』(61ページ)より。
この章は、密接に関連した3つのトピックを取り上げます。
async def、await、async with、async forの構文この章の解説は、イテレート可能なオブジェクトやジェネレータ(「17章 イテレータ、ジェネレータ、従来のコルーチン」。特に、「17.13 従来のコルーチン」)、コンテキストマネージャ(「18章 with、match、elseのブロック」)、そして並行プログラミングでの基本的な概念(「19章 Pythonの並行処理モデル」)を元にしています。
「20章 並行処理のExecutor」で作成した並行処理のHTTPクライアントを、ネイティブなコルーチンと非同期のコンテキストマネージャで書き換えます。利用するのは変わらずHTTPXライブラリですが、今回は非同期のAPIを呼び出します。低速な処理をスレッドやプロセスの ...
Read now
Unlock full access