asyncio — встроенный фреймворк Python для написания конкурентного, неблокирующего кода в одном потоке. Он особенно полезен для задач, связанных с вводом-выводом, таких как сетевые запросы, операции с файлами или запросы к базам данных.
async def, которая может быть приостановлена и возобновленаawait — приостанавливает текущую корутину до завершения ожидаемой операции, освобождая event loop для запуска других задач в это времяКогда корутина встречает выражение await, она передаёт управление обратно event loop'у. Цикл может затем запустить другие корутины, эффективно используя время ожидания вместо того, чтобы блокировать выполнение.
import asyncio
async def fetch_data():
await asyncio.sleep(1) # Имитирует неблокирующую I/O операцию
return "data"
async def main():
result = await fetch_data()
print(result)
asyncio.run(main()) # Запускает event loop и выполняет корутину
asyncio.run() создаёт event loop и запускает основную корутинуawait asyncio.sleep(1) приостанавливает fetch_data без блокировки потокаmultiprocessingКлючевое слово await паузирует корутину и возвращает управление в event loop, позволяя другим корутинам выполняться без блокировки потока.
Новый — ещё не проверен сообществом
Вы