Junior — Middle
91
Hogyan történik a feladatok váltása a korutinokban az asyncio használata során?
Cégeket kérdeztek
Válasz az MI-től
sobes.tech MI
В 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())