Back to questions
Okko
Т-Банк
Лига Цифровой Экономики
СБЕР Роботы
Junior — Middle
65
Можете объяснить, каким образом реализована асинхронная обработка задач в Python и как она работает?
Companies where asked
ИП Калюков Н.С.
ООО Авантелеком
Стилсофт
Effective Mobile
Answer from 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 цикл событий переключается между ними, не блокируя выполнение программы.