Junior — Middle
91
Pythonдо тапшырмаларды асинхрондуу иштетүүнү кантип ишке ашырганын жана ал кантип иштээрин түшүндүрө аласызбы?
Кайсыл жерде компаниялар сурады
ИП Калюков Н.С.
ООО Авантелеком
Стилсофт
Effective Mobile
AIден жооп
sobes.tech AI
Асинхронная обработка задач в Python реализуется с помощью модуля asyncio, который позволяет писать код, не блокирующий выполнение при ожидании ввода-вывода или других длительных операций.
Основные концепции:
- Коррутины — функции, объявленные с
async def, которые можно приостанавливать с помощьюawaitи возобновлять позже. - Цикл событий (event loop) — управляет выполнением коррутин, планирует их запуск и переключение.
Пример:
import asyncio
async def say_hello():
print('Привет')
await asyncio.sleep(1) # имитация асинхронной операции
print('Мир')
async def main():
await asyncio.gather(say_hello(), say_hello())
asyncio.run(main())
В этом примере две коррутины say_hello запускаются параллельно, и во время ожидания asyncio.sleep цикл событий переключается между ними, не блокируя выполнение программы.