Какие методы реализации асинхронного программирования доступны в Python?
Answer from AI
sobes.tech AI
В Python доступны несколько методов реализации асинхронного программирования:
-
Модуль
asyncio— стандартная библиотека для написания асинхронного кода с использованиемasync/await. Позволяет создавать корутины, задачи и управлять циклом событий. -
Корутины и ключевые слова
async/await— позволяют писать асинхронный код, который выглядит как синхронный, но не блокирует выполнение. -
Модули для асинхронного ввода-вывода — например,
aiohttpдля асинхронных HTTP-запросов,aiomysqlдля работы с базами данных. -
Потоки и процессы — через модули
threadingиmultiprocessingможно реализовать параллельное выполнение, хотя это не совсем асинхронность в классическом понимании.
Пример использования asyncio:
import asyncio
async def say_hello():
await asyncio.sleep(1)
print("Hello, async world!")
async def main():
await asyncio.gather(say_hello(), say_hello())
asyncio.run(main())
Этот код запускает две корутины параллельно, не блокируя основной поток.