ASYNCIO ПРИМЕРЫ PYTHON

asyncio является модулем Python для асинхронного программирования, который позволяет увеличить среднюю производительность Python-приложений путем конкурентного выполнения множества задач на одном процессоре.

Одним из основных компонентов asyncio являются корутины, которые являются функциями, которые можно приостанавливать и возобновлять выполнение без блокировки потока. Чтобы объявить корутину, используйте ключевое слово async def. Например, вот корутина, которая приветствует пользователя:

async def hello(): print("Hello, world!")

Однако выполнение корутины не начнется, пока не будет запущена с помощью сопрограммы.

Следующий пример демонстрирует, как создать и выполнить несколько корутин. Пусть у нас будет две корутины foo() и bar(), которые будут выполняться асинхронно:

import asyncioasync def foo(): print("Running in foo") await asyncio.sleep(1) print("Explicit context switch to foo again")async def bar(): print("Explicit context to bar") await asyncio.sleep(2) print("Implicit context switch back to bar")async def main(): tasks = [ asyncio.create_task(foo()), asyncio.create_task(bar()) ] await asyncio.gather(*tasks)asyncio.run(main())

Во время выполнения программы мы увидим, что корутина bar() начинается и приостанавливается на две секунды, чтобы дать корутине foo() выполниться. После этого корутина bar() возобновляется и заканчивает выполнение. Корутина foo() также заканчивает выполнение без блокировки потока, и программа завершается.

How To Easily Do Asynchronous Programming With Asyncio In Python

AsyncIO \u0026 Asynchronous Programming in Python

Asyncio Tasks in Python Tutorial

Python Asynchronous Programming - AsyncIO \u0026 Async/Await

Python Asyncio: What are coroutines and tasks? - Python Asyncio for Beginners

Python Asyncio, Requests, Aiohttp - Make faster API Calls

Mojo 🔥 — Новый язык, который заменит Python?

Next-Level Concurrent Programming In Python With Asyncio

Learn Python's AsyncIO in 15 minutes

Learning Asyncio in python in 12 Minutes

BLGPG-A23CC13AAEFE-24-09-20-01

Новые материалы: