Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
6c731643
Commit
6c731643
authored
Sep 14, 2018
by
Yury Selivanov
Committed by
GitHub
Sep 14, 2018
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
bpo-33649: Refresh asyncio docs landing page (GH-9322)
parent
5acccfaf
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
34 additions
and
28 deletions
+34
-28
Doc/library/asyncio-future.rst
Doc/library/asyncio-future.rst
+2
-0
Doc/library/asyncio-queue.rst
Doc/library/asyncio-queue.rst
+1
-0
Doc/library/asyncio.rst
Doc/library/asyncio.rst
+31
-28
No files found.
Doc/library/asyncio-future.rst
View file @
6c731643
.. currentmodule:: asyncio
.. _asyncio-futures:
=======
Futures
=======
...
...
Doc/library/asyncio-queue.rst
View file @
6c731643
.. currentmodule:: asyncio
.. _asyncio-queues:
======
Queues
...
...
Doc/library/asyncio.rst
View file @
6c731643
...
...
@@ -6,43 +6,46 @@
--------------
.. TODO: rewrite the introduction section
asyncio is a library to write **concurrent** code using
**async/await** syntax.
This module provides infrastructure for writing single-threaded concurrent
code using coroutines, multiplexing I/O access over sockets and other
resources, running network clients and servers, and other related primitives.
Here is a more detailed list of the package contents:
asyncio is used as a foundation for multiple Python asynchronous
frameworks that provide high-performance network and web-servers,
database connection libraries, distributed task queues, etc.
* a pluggable :ref:`event loop <asyncio-event-loop>` with various system-specific
implementations;
asyncio is often a perfect fit for IO-bound and high-level
**structured** network code.
* :ref:`transport <asyncio-transport>` and :ref:`protocol <asyncio-protocol>` abstractions
(similar to those in `Twisted <https://twistedmatrix.com/trac/>`_);
asyncio provides a set of **high-level** APIs to:
*
concrete support for TCP, UDP, SSL, subprocess pipes, delayed calls,
and
others (some may be system-dependent)
;
*
:ref:`run Python coroutines <coroutine>` concurrently
and
have full control over their execution
;
* a :class:`Future` class that mimics the one in the :mod:`concurrent.futures`
module, but adapted for use with the event loop;
* perform :ref:`network IO and IPC <asyncio-streams>`;
* coroutines and tasks based on ``yield from`` (:PEP:`380`), to help write
concurrent code in a sequential fashion;
* control :ref:`subprocesses <asyncio-subprocess>`;
*
cancellation support for :class:`Future`\s and coroutines
;
*
distribute tasks via :ref:`queues <asyncio-queues>`
;
* :ref:`synchronization primitives <asyncio-sync>` for use between coroutines in
a single thread, mimicking those in the :mod:`threading` module;
* :ref:`synchronize <asyncio-sync>` concurrent code;
* an interface for passing work off to a threadpool, for times when
you absolutely, positively have to use a library that makes blocking
I/O calls.
as well as **low-level** APIs for *library and framework developers* to:
Asynchronous programming is more complex than classical "sequential"
programming: see the :ref:`Develop with asyncio <asyncio-dev>` page which lists
common traps and explains how to avoid them. :ref:`Enable the debug mode
<asyncio-debug-mode>` during development to detect common issues.
* create and manage :ref:`event loops <asyncio-event-loop>`, which
provide asynchronous APIs for networking, subprocesses, OS signals,
etc;
High-level APIs:
* implement efficient protocols using
:ref:`transports <asyncio-transports-protocols>`;
* :ref:`bridge <asyncio-futures>` callback-based libraries and code
with async/await syntax.
Contents
--------
.. rubric:: High-level APIs
.. toctree::
:maxdepth: 1
...
...
@@ -54,7 +57,7 @@ High-level APIs:
asyncio-queue.rst
asyncio-exceptions.rst
Low-level APIs:
.. rubric:: Low-level APIs
.. toctree::
:maxdepth: 1
...
...
@@ -65,7 +68,7 @@ Low-level APIs:
asyncio-policy.rst
asyncio-platforms.rst
Guides and Tutorials:
.. rubric:: Guides and Tutorials
.. toctree::
:maxdepth: 1
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment