Sobes.tech
Back to questions
Junior — Middle
54

В каком случае и для чего используют tasks в библиотеке asyncio?

Answer from AI

sobes.tech AI

В asyncio tasks используются для планирования и запуска корутин в фоновом режиме, позволяя выполнять несколько асинхронных операций параллельно. Создавая task с помощью asyncio.create_task(), вы запускаете корутину, которая будет выполняться независимо, и можете получить к ней доступ через объект задачи.

Это полезно, когда нужно запустить несколько асинхронных задач одновременно и не ждать завершения каждой по отдельности, например, при обработке нескольких сетевых запросов.

Пример:

import asyncio

async def say_after(delay, what):
    await asyncio.sleep(delay)
    print(what)

async def main():
    task1 = asyncio.create_task(say_after(1, 'hello'))
    task2 = asyncio.create_task(say_after(2, 'world'))

    print('started tasks')
    await task1
    await task2

asyncio.run(main())

Здесь create_task позволяет запустить обе корутины параллельно.