Junior — Middle
97
Ar galite paaiškinti, kaip įgyvendinama asinchroninė užduočių apdorojimas Python ir kaip jis veikia?
Įmonės kur klausė
ИП Калюков Н.С.
ООО Авантелеком
Стилсофт
Effective Mobile
Atsakymas iš 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 цикл событий переключается между ними, не блокируя выполнение программы.