asyncio#
- async/await 構文を利用して並行処理を行う
- シングルスレッドで動作する並行処理のためのライブラリ
コルーチン定義関数(Coroutine function definition)#
(ジェネレータベースの)コルーチン(yield)#
- 単純な関数呼び出しによるサブルーチンとは異なり、呼び出し元と呼び出し先を行ったり来たりするような関係性のルーチン
- ジェネレータを利用してコルーチンを実装する(
yield) - 『コルーチンは処理を中断した後、続きから処理を再開できる』= ジェネレータは処理を中断・再開できるので、コルーチンであると言える
send 呼び出しもとからデータ可能
native coroutine(async)#
- async の付いている関数定義は、generator と同じように、呼び出しをしても直ちに実行はされない関数
- await で実行終了を待つ
非同期ジェネレータ(AsyncGenerator)#
async generator- 通常のジェネレータと違って非同期ジェネレータはジェネレータ関数自体の戻り値を返すことはできません
asend : 非同期ジェネレータでも呼び出し元から、ジェネレータ関数に値を通知することができます