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 7 years ago
Linked from 2 awesome lists

concurrencygogoroutine-poolresource-managementresource-poolsemaphoreworkerpool

Backlinks from these awesome lists:

Related projects:

RepositoryDescriptionStars
hmdsefi/gowlA tool for managing and monitoring processes with an infinite worker pool69
shettyh/threadpoolAn efficient and scalable thread pool implementation for concurrent task execution102
shomali11/parallelizerSimplifies creating multiple worker threads to execute tasks in parallel72
xxjwxc/gowpA library that provides a concurrency limiting goroutine pool for efficient task execution and management.519
loveleshsharma/gohiveA goroutine pool library for efficient asynchronous task execution52
dirkaholic/kyooAn unlimited job queue with concurrent worker pools for Go applications51
gammazero/workerpoolA concurrency limiting goroutine pool that manages task execution without blocking task submission or exceeding system resource limits.1,342
timandy/routineProvides a set of goroutine context access interfaces to simplify the management of coroutine-specific information240
zenthangplus/goccmA package to limit concurrency in Goroutines71
nikhilsaraf/go-toolsA collection of tools for managing goroutines and concurrency in Go programming language15
anikhasibul/queueProvides a concurrency control mechanism for managing goroutine groups and ensuring their termination after completion.18
enriquebris/goconcurrentqueueA package offering concurrent-safe queue implementations with auto-expanding capacity and fixed capacities404
zkat/chanlA concurrency framework that enables threads to communicate and synchronize using channel objects.169
arunsworld/nurseryA package providing abstractions for structured concurrency in Go68
go-playground/poolA package that provides an efficient and flexible way to manage concurrent tasks or units of work in Go programs.727