Junior — Middle
94
Wie erfolgt der Taskwechsel in Koroutinen bei Verwendung von asyncio?
Unternehmen wurden gefragt
Antwort von AI
sobes.tech KI
В 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())