gpool

Concurrency manager

Manages a resizeable pool of context aware goroutines to bound concurrency and wait for resources to become available.

gpool - a generic context-aware resizable goroutines pool to bound concurrency based on semaphore.

GitHub

90 stars
3 watching
4 forks
Language: Go
last commit: almost 5 years ago
Linked from 2 awesome lists

concurrencygogoroutine-poolresource-managementresource-poolsemaphoreworkerpool

Backlinks from these awesome lists:

Related projects:

Repository Description Stars
hmdsefi/gowl A tool for managing and monitoring processes with an infinite worker pool 69
shettyh/threadpool An efficient and scalable thread pool implementation for concurrent task execution 102
shomali11/parallelizer Simplifies creating multiple worker threads to execute tasks in parallel 72
xxjwxc/gowp A library that provides a concurrency limiting goroutine pool for efficient task execution and management. 518
loveleshsharma/gohive A goroutine pool library for efficient asynchronous task execution 52
dirkaholic/kyoo An unlimited job queue with concurrent worker pools for Go applications 51
gammazero/workerpool A concurrency limiting goroutine pool that manages task execution without blocking task submission or exceeding system resource limits. 1,334
timandy/routine Provides a set of goroutine context access interfaces to simplify the management of coroutine-specific information 237
zenthangplus/goccm A package to limit concurrency in Goroutines 71
nikhilsaraf/go-tools A collection of tools for managing goroutines and concurrency in Go programming language 15
anikhasibul/queue Provides a concurrency control mechanism for managing goroutine groups and ensuring their termination after completion. 18
enriquebris/goconcurrentqueue A package offering concurrent-safe queue implementations with auto-expanding capacity and fixed capacities 396
zkat/chanl A concurrency framework that enables threads to communicate and synchronize using channel objects. 169
arunsworld/nursery A package providing abstractions for structured concurrency in Go 66
go-playground/pool A package that provides an efficient and flexible way to manage concurrent tasks or units of work in Go programs. 726