/Parallel-And-Concurrent-Programming

Concurrent and parallel programming might seem complex, but this guide simplifies it. Learn about sequential vs non-sequential programming, processes, and threads. Explore examples in popular languages like C++, Python, and JavaScript to apply your new knowledge to your projects.

Primary LanguageC++MIT LicenseMIT

Parallel and Concurrent Programming

Concurrent and parallel programming might seem complex, but this guide simplifies it. Learn about sequential vs non-sequential programming, processes, and threads. Explore examples in popular languages like C++, Python, and JavaScript to apply your new knowledge to your projects.

white_big_thread_for_sewing__programmer_using_thread__dark_background__thinking_Seed-8130887_Steps-25_Guidance-7 5

Notes

No. Description Markdown
1 Basic terminology for parallel and concurrent programming concepts
2 Covers the basics of multithreading, including how to create and manage threads, synchronization, and thread safety.
3 Introduces multiprocessing and covers the creation and management of processes, inter-process communication, and synchronization.
4 Covers the basics of asynchronous programming, including async/await syntax and asyncio library in Python.
5 Introduces Message Passing Interface (MPI), a standard for message-passing used in parallel computing. Covers its architecture, implementation, and basic concepts.
6 Covers the hardware components and architectures used in parallel computing, including shared-memory and distributed-memory systems, clusters, and GPUs.

Refrences

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

License

MIT