Python Glossary English

Python 3.4+Асинхронное программированиепонятие

asyncio

модуль

Асинхронный ввод-вывод на async/await: много задач в одном потоке через цикл событий.

Синтаксис

import asyncio

Модуль подходит для задач, которые в основном ждут сети или диска: тысячи соединений обслуживаются одним потоком. Для вычислений он не ускоряет ничего — тут нужны процессы (concurrent.futures, multiprocessing), а для простого параллельного ожидания с блокирующим кодом — потоки. Частая ошибка — вызвать блокирующую функцию вроде time.sleep внутри корутины: это останавливает весь цикл событий.

Примеры

import asyncio
async def square(n):
    await asyncio.sleep(0)
    return n * n
async def main():
    return await asyncio.gather(square(2), square(3))
print(asyncio.run(main()))  # → [4, 9]

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности