# `asyncio` --- 非同期 I/O

asyncio は async/await 構文を使い 並行処理の コードを書くためのライブラリです。

asyncio は、高性能なネットワークとウェブサーバ、データベース接続ライブラリ、分散タスクキューなどの複数の非同期 Python フレームワークの基盤として使われています。

asyncio は多くの場合、 IOバウンドだったり高レベルの 構造化された ネットワークコードに完璧に適しています。

asyncio は次の目的で 高レベル API を提供しています:

- 並行に Python コルーチンを起動 し、実行全体を管理する

- ネットワーク IO と IPC を執り行う

- subprocesses を管理する

- キュー を使ってタスクを分散する

- 並列処理のコードを 同期 させる

これに加えて、 ライブラリやフレームワークの開発者 が次のことをするための 低レベル API があります:

- `ネットワーク通信` 、 `サブプロセス` の実行、 `OS シグナル` の取り扱いなどのための非同期 API を提供する イベントループ の作成と管理を行う

- Transport を使った効率的な protocol を実装します

- コールバックを用いたライブラリと async/await 構文を使ったコードの 橋渡し

リファレンス

高レベル API

- コルーチンと Task
- ストリーム
- 同期プリミティブ
- サブプロセス
- キュー
- 例外

低レベル API

- イベントループ
- Future
- トランスポートとプロトコル
- ポリシー
- プラットフォームでのサポート

ガイドとチュートリアル

- 高水準の API インデックス
- 低水準の API インデックス
- asyncio での開発

注釈

asyncio のソースコードは Lib/asyncio/ にあります。