Асинхронное программирование на примере Python / asyncio
Использование Queue, асинхронных генераторов и async for в Python
Асинхронное программирование в Python стало мощным инструментом для разработки высокопроизводительных приложений, особенно в сценариях с интенсивным вводом-выводом. Ключевые концепции, такие как asyncio.Queue, асинхронные генераторы и циклы async for, позволяют эффективно управлять параллельными задачами и потоками данных. В этой статье мы разберем, как использовать эти инструменты для создания эффективных асинхронных приложений. Асинхронный код в Python строится вокруг концепции корутин (coroutines) и цикла событий (event loop)...
Асинхронно скачиваем файлы c Python.
Имея список ссылок на картинки, которые нужно скачать, мы можем это сделать используя простой цикл for, тем самым скачав их последовательно одна за одной. Но в таких ситуациях как эта (скачивание огромного количества небольших файлов) распараллеливание задачи существенно ускорит процесс. Для этого воспользуемся функцией ThreadPoolExecutor из стандартного пакета concurrent.futures. Она позволяет запустить нашу функцию, в нескольких екземплярах в параллельных потоках. В конструкторе необходимо указать максимальное количество потоков, которые будут одновременно запущены...