Вопрос объясняет концепцию Task в asyncio и способы параллельного выполнения.
Task — это обёртка вокруг корутины для параллельного выполнения. Для запуска нескольких задач используйте asyncio.create_task() или asyncio.gather().
1. Создание задач:
async def fetch_data(url):
await asyncio.sleep(1)
return f"Data from {url}"
async def main():
# Вариант 1: create_task
task1 = asyncio.create_task(fetch_data("url1"))
task2 = asyncio.create_task(fetch_data("url2"))
# Вариант 2: gather
results = await asyncio.gather(
fetch_data("url1"),
fetch_data("url2")
)2. Отличия:
create_task(): запускает корутину "в фоне"
gather(): ждёт завершения всех переданных корутин
Вывод:Task — основная единица выполнения в asyncio.