Junior — Middle
67
Что такое и как работает асинхронное программирование с использованием asyncio в Python?
Companies where asked
Answer from AI
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) они не блокируют друг друга, а выполняются параллельно в рамках одного потока.