🔹 Асинхронность vs конкурентность: python-практика 🔹 Чем отличаются concurrency и parallelism — и как asyncio + threadpool играют вместе? 🔸 concurrency решает проблему простаивания: позволяет управлять множеством задач одновременно, чтобы не блокировать поток при ожидании I/O (input/output).

🔸 parallelism — реальное параллельное выполнение на разных ядрах CPU (central processing unit); нужен для ускорения CPU-bound операций, иначе многозадачность не даст прироста.

🔸 Практика: для I/O-bound используйте asyncio; для блокирующих или CPU-bound функций — отправляйте их в threadpool (ThreadPoolExecutor) или в process pool. asyncio управляет корутинами, threadpool выполняет блокирующие вызовы.

import asyncio from concurrent.futures import ThreadPoolExecutor

def cpu_bound(x): return x*x

async def main(): loop = asyncio.get_running_loop() with ThreadPoolExecutor() as tp: res = await loop.run_in_executor(tp, cpu_bound, 10) print(res)

asyncio.run(main())

📚 Коротко: concurrency ≠ parallelism — комбинируйте asyncio для I/O и threadpool/processes для тяжёлых задач.

#CODERIKK #Python #Senior

➡️ Мы в Telegram - Сетке - ВК Буду рад вашей реакции здесь⬇️


В этом посте были ссылки, но мы их удалили по правилам Сетки

🔹 Асинхронность vs конкурентность: python-практика
🔹 Чем отличаются concurrency и parallelism — и как asyncio + threadpool играют вместе?
🔸 concurrency решает проблему простаивания: позволяет управлят... | Сетка — социальная сеть от hh.ru