Sobes.tech
Back to questions
Junior — Middle
62

Поделитесь своим опытом работы с асинхронным программированием и его особенностями.

Companies where asked
СКМ ПРО

Answer from AI

sobes.tech AI

Асинхронное программирование в Python позволяет выполнять операции, которые занимают время (например, запросы к сети или чтение файлов), не блокируя основной поток выполнения. Это особенно полезно для повышения производительности в I/O-bound задачах.

Основные особенности:

  • Использование ключевых слов async и await для определения и вызова асинхронных функций.
  • Цикл событий (event loop), который управляет выполнением задач.
  • Возможность параллельно запускать несколько корутин, что улучшает отзывчивость приложения.

Пример простого асинхронного кода:

import asyncio

async def say_hello():
    await asyncio.sleep(1)
    print('Hello')

async def main():
    await asyncio.gather(say_hello(), say_hello())

asyncio.run(main())

В этом примере две корутины выполняются параллельно, каждая ждет 1 секунду, после чего выводит сообщение.