Встречается на 2% собеседований по Python
Как переключаются корутины в asyncio
Корутины в asyncio переключаются через механизм событийного цикла (event loop). Когда корутина достигает точки ожидания (например, await), она приостанавливается, и управление передаётся обратно в event loop, который решает, какую следующую корутину запустить.
Пример:
python
import asyncio
async def task1():
print("Task 1 started")
await asyncio.sleep(1)
print("Task 1 finished")
async def task2():
print("Task 2 started")
await asyncio.sleep(2)
print("Task 2 finished")
async def main():
await asyncio.gather(task1(), task2())
asyncio.run(main())Здесь await asyncio.sleep() передаёт управление обратно в event loop, позволяя выполняться другим корутинам. Event loop отслеживает состояние всех корутин и переключает контекст при необходимости.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы