Встречается на собеседованиях • сегодня

Как запустить параллельно две задачи в асинхронном программировании

В asyncio для параллельного выполнения задач используйте asyncio.gather() или asyncio.create_task(). Основное отличие - gather ждёт завершения всех задач, а create_task запускает задачи без ожидания.

Пример с asyncio.gather():

python
import asyncio

async def task1():
await asyncio.sleep(1)
print("Task 1 done")

async def task2():
await asyncio.sleep(2)
print("Task 2 done")

async def main():
await asyncio.gather(task1(), task2())

asyncio.run(main())

text

Пример с `asyncio.create_task()`:
```python
async def main():
    task_1 = asyncio.create_task(task1())
    task_2 = asyncio.create_task(task2())
    await task_1  # можно ожидать конкретную задачу
    await task_2

Важно: задачи выполняются конкурентно, но не одновременно (если нет блокирующего кода). Для истинного параллелизма используйте multiprocessing.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы