Sobes.tech
Back to questions
Junior — Middle
66

Использовал ли ты в своих проектах механизм кооперативной многозадачности в языке Python?

Answer from AI

sobes.tech AI

Да, в Python механизм кооперативной многозадачности реализуется через корутины и ключевые слова async и await. Это позволяет писать асинхронный код, который не блокирует выполнение, переключаясь между задачами в определённых точках (например, при ожидании ввода-вывода).

Пример использования:

import asyncio

async def task(name, delay):
    print(f"Задача {name} стартовала")
    await asyncio.sleep(delay)
    print(f"Задача {name} завершена")

async def main():
    await asyncio.gather(task('A', 2), task('B', 1))

asyncio.run(main())

Здесь задачи кооперативно уступают управление при await, что позволяет эффективно использовать ресурсы.