Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Go
  3. concurrency-limiter

concurrency-limiter

MITGov1.3.0

A Go library for limiting goroutine concurrency with timeouts, dynamic priority, and context cancellation support.

GitHubGitHub
18 stars5 forks0 contributors

Overview

concurrency-limiter is a Go library that provides fine-grained control over concurrent access to shared resources. It helps prevent resource exhaustion and improves system stability by managing goroutine execution with advanced admission policies.

Key Features

  • Strict Admission — Goroutines wait until capacity is available via Wait/Run methods.
  • Soft Admission — Goroutines can bypass the limiter after a timeout via WaitOrBypass/RunOrBypass.
  • Priority Scheduling — High-priority goroutines get preferential access, with optional dynamic priority escalation to prevent starvation.
  • Timeout Support — Configurable wait timeouts return errors or allow bypassing.
  • Context Integration — Supports context cancellation for graceful termination.
  • Runnable Wrappers — Convenient Run and RunOrBypass functions to encapsulate logic.

Philosophy

The library emphasizes flexibility and fairness, offering both strict and soft admission modes to balance resource protection with responsiveness. Dynamic priority ensures low-priority tasks don't starve, making it suitable for production systems.

Quick Stats

Stars18
Forks5
Contributors0
Open Issues0
Last commit6 months ago
CreatedSince 2020

Tags

#goroutine-management#concurrency-control#context-cancellation#go-library#timeout-handling#resource-management#priority-queues#rate-limiting

Built With

G
Go

Included in

Go169.1k
Auto-fetched 1 day ago

Related Projects

antsants

🐜🐜🐜 ants is the most powerful and reliable pooling solution for Go.

Stars14,515
Forks1,439
Last commit17 days ago
concconc

Better structured concurrency for go

Stars10,433
Forks364
Last commit1 month ago
tunnytunny

A goroutine pool for Go

Stars4,024
Forks307
Last commit3 years ago
goworkergoworker

goworker is a Go-based background worker that runs 10 to 100,000* times faster than Ruby-based workers.

Stars2,849
Forks242
Last commit10 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub