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
Новые материалы: