Junior — Middle
Használtad-e a Python nyelvben a kooperatív multitasking mechanizmusát a projektjeidben?
sobes.tech MI
Válasz az MI-től
Да, в 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, что позволяет эффективно использовать ресурсы.