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Сообщить о неточности