Sobes.tech
Back to questions
Junior — Middle
65

Можете объяснить, каким образом реализована асинхронная обработка задач в Python и как она работает?

Companies where asked
OkkoOkko
ИП Калюков Н.С.
ООО Авантелеком
Т-БанкТ-Банк
Стилсофт
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 цикл событий переключается между ними, не блокируя выполнение программы.