Встречается на собеседованиях • сегодня
Есть ли очередность в асинхронности
В асинхронном программировании на Python порядок выполнения задач не гарантируется строго - он зависит от готовности корутин и работы event loop. Однако можно управлять очередностью с помощью await и специальных методов.
Пример с недетерминированным порядком:
python
import asyncio
async def task(num):
print(f"Start {num}")
await asyncio.sleep(0)
print(f"End {num}")
async def main():
await asyncio.gather(task(1), task(2), task(3))
asyncio.run(main())
text
Вывод может быть разным:Start 1
Start 2
Start 3
End 1
End 2
End 3
text
Для контроля порядка можно:
1. Использовать последовательные `await`
2. Применять `asyncio.create_task()` с явным ожиданием
3. Использовать приоритеты через `loop.call_soon()`
Event loop обрабатывает готовые задачи в порядке их готовности, а не создания.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы