Sobes.tech
Junior — Middle
77

Qu'est-ce que la programmation asynchrone et comment fonctionne-t-elle avec asyncio en Python?

Entreprises à qui on a demandé
Фабрика РешенияФабрика Решения

Réponse de l'IA

sobes.tech IA

Асинхронное программирование с использованием 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) они не блокируют друг друга, а выполняются параллельно в рамках одного потока.