Skip to content

yemiwebby/golang-concurrency-mastery

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Hands-on Projects to Master Concurrency in Golang

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.

Project List

Each project is located inside the projects/ directory and contains its own README.md, go.mod, and source code.

** Classic Concurrency Challenges**

  1. Producer-Consumer Problem – Implements a producer-consumer system using Go channels with buffering and rate limiting.
  2. Parallel Web Scraper – A concurrent web crawler with worker pools and controlled parallelism.
  3. Dining Philosophers Problem – A classic synchronization problem using goroutines and mutexes.
  4. Concurrent Prime Number Generator – Implements the Sieve of Eratosthenes in a concurrent way.
  5. Parallel Merge Sort – A merge sort algorithm that sorts subarrays in parallel.

Getting Started

Clone the Repository

git clone https://github.com/yourusername/golang-concurrency-mastery.git
cd golang-concurrency-mastery

Contributing

If you'd like to contribute:

  • Fork the repo.
  • Create a feature branch.
  • Submit a PR.

Support the Project

If you find this useful:

  • Give it a star on GitHub
  • Follow for updates
  • Share on LinkedIn & tag me! Yemiwebby

Happy coding!

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages