Junior — Middle
96
Comment le changement de tâches se produit-il dans les coroutines lors de l'utilisation d'asyncio?
Entreprises à qui on a demandé
Réponse de l'IA
sobes.tech IA
В asyncio переключение задач (корутин) происходит при встрече точки ожидания (await), где корутина приостанавливается, позволяя планировщику событий (event loop) переключиться на выполнение другой корутины. Таким образом, переключение задач происходит кооперативно: корутина добровольно уступает управление, ожидая завершения асинхронной операции, например, ввода-вывода. Это позволяет эффективно использовать время ожидания без блокировки потока.
Пример:
import asyncio
async def task(name):
print(f"{name} started")
await asyncio.sleep(1) # точка переключения
print(f"{name} finished")
async def main():
await asyncio.gather(task("A"), task("B"))
asyncio.run(main())