#CPUbound

2026-02-01

Разбор threading vs multiprocessing vs asyncio в Python

При работе с Python да и другими языками программирования часто возникает необходимость ускорения выполнения кода, масштабирования обработки данных или работы с большим количеством сетевых запросов. Именно в Python для решения этих задач существуют три базовых метода. Это: threading, multiprocessing и asyncio. На первый взгляд – механизмы схожие. Но при детальном разборе ясно, что они решают принципиально разные задачи, опираются на разные модели исполнения и обладают своими ограничениями. В статье расскажу об особенностях каждого метода – будет интересно и познавательно.

habr.com/ru/articles/991478/

#threading #multiprocessing #asyncio #Python #параллельность #конкурентность #CPUbound #event_loop #многопоточность

💾 Paweł Łukasikpawel_lukasik@infosec.exchange
2024-03-13

In async programming there are basically two types of operation that we are waiting for. IO-bound and CPU-bound. The first one is when we are waiting on some external resource - an API call, DB or a file. The later one is when we just need to do some intensive computation - e.g. raycasting.

For the first one, we do have async/await mode with Task & Task<T> types. For cpu-bound operations we should start a background thread with Task.Run method.

Of course, one sure measure before applying any performance related modifications as the benefits my not be enough to cover for the costs as nothing comes for free (e.g. context switching).

To sum up:

📌 IO-bound - waiting on resource

📌 CPU-bound - computation intensive

Docs 📑: learn.microsoft.com/en-us/dotn

#dotnet #async #await #iobound #cpubound
---
If you find this useful, consider giving a like & share ❤.

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst