This repository provides a comprehensive guide to Parallel Programming in Python, focusing on multi-threading and multiprocessing techniques. Please feel free to use the code from this repo for your applications.
- Parallel Programming in Python
- Multi-threading (shared memory parallelism)
- Multiprocessing (Distributed-memory parallelism)
- Process Class
- Pool Class
- Synchronous calls
- pool.Apply()
- pool.Map()
- pool.Starmap()
- Asynchronous calls
- pool.Apply_async()
- pool.Map_async()
- pool.Starmap_async()
- pool.imap()
- pool.imap_unordered()
- Synchronous calls
- Process-to-Process communication
- Pipes
All the theory and collection of code is documented on the notebook Multiprocessing.ipynb
.
However, individual python files for each of the subsection too, incase you just want to go through code for only that topic.
Contributions: Contributions to this repository are welcome! If you have any ideas, improvements, or new topics related to parallel programming in Python, feel free to submit a pull request. Let's make this resource even better!