VOOZH about

URL: https://docs.python.org/3.4/library/asyncio.html

⇱ 18.5. asyncio – Asynchronous I/O, event loop, coroutines and tasks — Python 3.4.10 documentation


This document is for an old version of Python that is no longer supported. You should upgrade, and read the Python documentation for the current stable release.

Navigation

18.5. – Asynchronous I/O, event loop, coroutines and tasks

Note

The asyncio package has been included in the standard library on a provisional basis. Backwards incompatible changes (up to and including removal of the module) may occur if deemed necessary by the core developers.

New in version 3.4.

Source code: Lib/asyncio/


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:

  • a pluggable event loop with various system-specific implementations;
  • transport and protocol abstractions (similar to those in Twisted);
  • concrete support for TCP, UDP, SSL, subprocess pipes, delayed calls, and others (some may be system-dependent);
  • a class that mimics the one in the module, but adapted for use with the event loop;
  • coroutines and tasks based on (PEP 380), to help write concurrent code in a sequential fashion;
  • cancellation support for s and coroutines;
  • synchronization primitives for use between coroutines in a single thread, mimicking those in the module;
  • 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.

Asynchronous programming is more complex than classical “sequential” programming: see the Develop with asyncio page which lists common traps and explains how to avoid them. Enable the debug mode during development to detect common issues.

Table of contents:

See also

The module was designed in PEP 3156. For a motivational primer on transports and protocols, see PEP 3153.

Previous topic

18.4. – High-level I/O multiplexing

Next topic

18.5.1. Base Event Loop

This Page

Quick search

Enter search terms or a module, class or function name.

Navigation

© Copyright 1990-2019, Python Software Foundation.
The Python Software Foundation is a non-profit corporation. Please donate.
Last updated on Jun 16, 2019. Found a bug?
Created using Sphinx 1.2.3.