Можешь рассказать о различных способах использования модуля asyncio в Python?
Answer from AI
sobes.tech AI
Модуль asyncio в Python используется для написания асинхронного кода, который позволяет выполнять несколько операций одновременно без блокировки основного потока.
Основные способы использования asyncio:
-
Асинхронные функции (coroutines): объявляются с помощью
async defи могут использоватьawaitдля ожидания других асинхронных операций. -
Запуск событийного цикла: с помощью
asyncio.run()можно запустить корутину и обработать асинхронные задачи. -
Создание задач (tasks): с помощью
asyncio.create_task()можно запустить корутину параллельно с другими. -
Работа с асинхронными примитивами: такими как очереди (
asyncio.Queue), блокировки (asyncio.Lock), семафоры и т.д.
Пример простого асинхронного кода:
import asyncio
async def say_after(delay, message):
await asyncio.sleep(delay)
print(message)
async def main():
task1 = asyncio.create_task(say_after(1, "Hello"))
task2 = asyncio.create_task(say_after(2, "World"))
await task1
await task2
asyncio.run(main())
Этот код запускает две задачи параллельно, не блокируя выполнение.