Sobes.tech
Junior — Middle
68

Что такое и как работает асинхронное программирование с использованием asyncio в Python?

Компании, где спрашивали
Фабрика РешенияФабрика Решения

Ответ от нейросети

sobes.tech AI

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

Основные концепты:

  • Event loop (цикл событий): управляет выполнением асинхронных задач.
  • Coroutine (корутина): функция, которая может приостанавливать своё выполнение (с помощью await) и возобновлять позже.
  • Await: оператор, который приостанавливает корутину до завершения другой асинхронной операции.

Пример:

import asyncio

async def say_hello():
    print('Hello')
    await asyncio.sleep(1)  # имитация асинхронной операции
    print('World')

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

asyncio.run(main())

В этом примере две корутины say_hello запускаются одновременно, и благодаря await asyncio.sleep(1) они не блокируют друг друга, а выполняются параллельно в рамках одного потока.