18.5. asyncio —非同期I / O、イベントループ、コルーチン、タスク—Pythonドキュメント
提供:Dev Guides
< PythonPython/docs/3.6/library/asyncio
18.5。 asyncio —非同期I / O、イベントループ、コルーチン、およびタスク
バージョン3.4の新機能。
ソースコード: :source: `Lib / asyncio /`
このモジュールは、コルーチンを使用してシングルスレッドの並行コードを記述し、ソケットやその他のリソースを介してI / Oアクセスを多重化し、ネットワーククライアントとサーバー、およびその他の関連するプリミティブを実行するためのインフラストラクチャを提供します。 パッケージの内容のより詳細なリストは次のとおりです。
- さまざまなシステム固有の実装を備えたプラグ可能なイベントループ。
- transport および protocol の抽象化( Twisted の抽象化と同様)。
- TCP、UDP、SSL、サブプロセスパイプ、遅延呼び出しなどの具体的なサポート(一部はシステムに依存する場合があります)。
- Future クラス。 concurrent.futures モジュールのクラスを模倣しますが、イベントループでの使用に適合しています。
yield from
( PEP 380 )に基づくコルーチンとタスク。並行コードを順次作成するのに役立ちます。- Future とコルーチンのキャンセルサポート。
- 同期プリミティブは、スレッドモジュールのコルーチンを模倣して、単一スレッドのコルーチン間で使用します。
- スレッドプールに作業を渡すためのインターフェイス。絶対に、I / O呼び出しをブロックするライブラリを積極的に使用する必要がある場合に使用します。
非同期プログラミングは、従来の「シーケンシャル」プログラミングよりも複雑です。一般的なトラップを一覧表示し、それらを回避する方法を説明している Develop with asyncio ページを参照してください。 開発中にデバッグモードを有効にして、一般的な問題を検出します。
目次:
- 18.5.1. ベースイベントループ
- 18.5.1.1. イベントループを実行する
- 18.5.1.2. 呼び出し
- 18.5.1.3. 遅延通話
- 18.5.1.4. 先物
- 18.5.1.5. タスク
- 18.5.1.6. 接続の作成
- 18.5.1.7. リスニング接続の作成
- 18.5.1.8. ファイル記述子を監視する
- 18.5.1.9. 低レベルのソケット操作
- 18.5.1.10. ホスト名を解決する
- 18.5.1.11. パイプを接続する
- 18.5.1.12. UNIXシグナル
- 18.5.1.13. エグゼキュータ
- 18.5.1.14. エラー処理API
- 18.5.1.15. デバッグモード
- 18.5.1.16. サーバ
- 18.5.1.17. 取り持つ
- 18.5.1.18. イベントループの例
- 18.5.2. イベントループ
- 18.5.3. タスクとコルーチン
- 18.5.4. トランスポートとプロトコル(コールバックベースのAPI)
- 18.5.5. ストリーム(コルーチンベースのAPI)
- 18.5.6. サブプロセス
- 18.5.7. 同期プリミティブ
- 18.5.8. キュー
- 18.5.9. asyncioで開発する