Welcome to the "Hands-on Projects to Master Concurrency in Golang" repository! This collection of projects is designed to help you develop expertise in Go’s concurrency model by working through classic computer science challenges. The repository will be continuously updated with more projects, including real-world applications.
Each project is self-contained, includes unit tests, and demonstrates different concurrency patterns such as goroutines, channels, worker pools, mutexes, and rate limiting.
Each project is located inside the projects/ directory and contains its own README.md, go.mod, and source code.
- Producer-Consumer Problem – Implements a producer-consumer system using Go channels with buffering and rate limiting.
- Parallel Web Scraper – A concurrent web crawler with worker pools and controlled parallelism.
- Dining Philosophers Problem – A classic synchronization problem using goroutines and mutexes.
- Concurrent Prime Number Generator – Implements the Sieve of Eratosthenes in a concurrent way.
- Parallel Merge Sort – A merge sort algorithm that sorts subarrays in parallel.
git clone https://github.com/yourusername/golang-concurrency-mastery.git
cd golang-concurrency-masteryIf you'd like to contribute:
- Fork the repo.
- Create a feature branch.
- Submit a PR.
If you find this useful:
- Give it a star on GitHub
- Follow for updates
- Share on LinkedIn & tag me! Yemiwebby
Happy coding!