
The Best Go Libraries For Goroutines - Goroutines (50)
Discover the best Go libraries for Goroutines in Goroutines! Find the perfect tools to streamline your development and boost productivity. From async to breaker, we've got you covered. Let the coding begin!
async
A safe way to execute functions asynchronously, recovering them in case of panic
breaker
Flexible mechanism to make execution flow interruptible
conc
`conc` is your toolbelt for structured concurrency in go, making common tasks easier and safer
execpool
A pool built around exec.Cmd that spins up a given number of processes in advance and attaches stdin and stdout to them when needed. Very similar to FastCGI or Apache Prefork MPM but works for any command
go-floc
Orchestrate goroutines with ease
gohive
A highly performant and easy to use Goroutine pool for Go
gollback
asynchronous simple function utilities, for managing execution of closures and callbacks
gowl
Gowl is a process management and process monitoring tool at once. An infinite worker pool gives you the ability to control the pool and processes and monitor their status
goworker
goworker is a Go-based background worker
gowp
gowp is concurrency limiting goroutine pool
gpool
manages a resizeable pool of context-aware goroutines to bound concurrency
hands
A process controller used to control the execution and return strategies of multiple goroutines
Hunch
Hunch provides functions like: `All`, `First`, `Retry`, `Waterfall` etc., that makes asynchronous flow control more intuitive
kyoo
Provides an unlimited job queue and concurrent worker pools
neilotoole/errgroup
Drop-in alternative to `sync/errgroup`, limited to a pool of N worker goroutines
nursery
Structured concurrency in Go
pond
Minimalistic and High-performance goroutine worker pool written in Go
pool
Limited consumer goroutine or unlimited goroutine pool for easier goroutine handling and cancellation
rill
Go toolkit for clean, composable, channel-based concurrency
routine
`routine` is a `ThreadLocal` for go library. It encapsulates and provides some easy-to-use, non-competitive, high-performance `goroutine` context access interfaces, which can help you access coroutine context information more gracefully
semaphore
Semaphore pattern implementation with timeout of lock/unlock operations based on channel and context
anchor
Library to manage component lifecycle in microservice architectures
artifex
Simple in-memory job queue for Golang using worker-based dispatching
async
An asynchronous task package with async/await style for Go
async
An alternative sync library for Go (Future, Promise, Locks)
channelify
Transform your function to return channels for easy and powerful parallel processing
conexec
A concurrent toolkit to help execute funcs concurrently in an efficient and safe way. It supports specifying the overall timeout to avoid blocking and uses goroutine pool to improve efficiency
cyclicbarrier
CyclicBarrier for golang
go-accumulator
Solution for accumulation of events and their subsequent processing
go-flow
Control goroutines execution order
go-tools/multithreading
Manage a pool of goroutines using this lightweight library with a simple API
go-workerpool
Inspired from Java Thread Pool, Go WorkerPool aims to control heavy Go Routines
grpool
Lightweight Goroutine pool
parallel-fn
Run functions in parallel
routine
go routine control with context, support: Main, Go, Pool and some useful Executors
semaphore
Fast resizable semaphore implementation based on CAS (faster than channel-based semaphore implementations)
threadpool
Golang threadpool implementation
workerpool
Goroutine pool that limits the concurrency of task execution, not the number of tasks queued
ants
A high-performance and low-cost goroutine pool in Go
concurrency-limiter
Concurrency limiter with support for timeouts, dynamic priority and context cancellation of goroutines
flowmatic
Structured concurrency made easy
go-actor
A tiny library for writing concurrent programs using actor model
go-trylock
TryLock support on read-write lock for Golang
go-waitgroup
Like `sync.WaitGroup` with error handling and concurrency control
goccm
Go Concurrency Manager package limits the number of goroutines that allowed to run concurrently
stl
Software transactional locks based on Software Transactional Memory (STM) concurrency control mechanism
tunny
Goroutine pool for golang
worker-pool
goworker is a Go simple async worker pool
autopool
Zero-config, auto-scaling worker pool for Go with priority-aware scheduling
async-job
AsyncJob is an asynchronous queue job manager with light code, clear and speed