patterns

command
v0.0.0-...-69640ee Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 3, 2024 License: MIT Imports: 4 Imported by: 0

README

Go Concurrency Patterns

This repository contains examples of the four foundational concurrency patterns implemented in Go. These patterns help manage concurrent programming tasks efficiently by coordinating multiple goroutines.

Patterns Overview

  1. Single Producer, Single Consumer

    • Description: A single producer generates data that is consumed by a single consumer.
    • Example: A logging system where log messages are generated by a single component and processed by a logger.
    • Link to Code: logging.go
  2. Single Producer, Multiple Consumers

    • Description: A single producer generates data distributed to multiple consumers.
    • Example: A web server routing incoming requests to a pool of workers.
    • Link to Code: workers_pool.go
  3. Multiple Producers, Single Consumer

    • Description: Multiple producers generate data that is aggregated by a single consumer.
    • Example: Multiple sensors sending data to a central server for aggregation.
    • Link to Code: data_aggregator.go
  4. Multiple Producers, Multiple Consumers

    • Description: Multiple producers generate data that is processed by multiple consumers.
    • Example: Task queue system with multiple clients submitting tasks to be processed by a pool of workers.
    • Link to Code: task_queue_system.go

Documentation

Overview

Scenario: Task Queue System Description: Multiple clients (producers) submitting tasks to a queue which are processed by a pool of workers (consumers).

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL