Cute Gopher Mascot

The Best Go Libraries For Goroutines (50)

Discover the best Go libraries for 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

See More! 🚀

breaker

Flexible mechanism to make execution flow interruptible

See More! 🚀

conc

`conc` is your toolbelt for structured concurrency in go, making common tasks easier and safer

See More! 🚀

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

See More! 🚀

go-floc

Orchestrate goroutines with ease

See More! 🚀

gohive

A highly performant and easy to use Goroutine pool for Go

See More! 🚀

gollback

asynchronous simple function utilities, for managing execution of closures and callbacks

See More! 🚀

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

See More! 🚀

goworker

goworker is a Go-based background worker

See More! 🚀

gowp

gowp is concurrency limiting goroutine pool

See More! 🚀

gpool

manages a resizeable pool of context-aware goroutines to bound concurrency

See More! 🚀

hands

A process controller used to control the execution and return strategies of multiple goroutines

See More! 🚀

Hunch

Hunch provides functions like: `All`, `First`, `Retry`, `Waterfall` etc., that makes asynchronous flow control more intuitive

See More! 🚀

kyoo

Provides an unlimited job queue and concurrent worker pools

See More! 🚀

neilotoole/errgroup

Drop-in alternative to `sync/errgroup`, limited to a pool of N worker goroutines

See More! 🚀

nursery

Structured concurrency in Go

See More! 🚀

pond

Minimalistic and High-performance goroutine worker pool written in Go

See More! 🚀

pool

Limited consumer goroutine or unlimited goroutine pool for easier goroutine handling and cancellation

See More! 🚀

rill

Go toolkit for clean, composable, channel-based concurrency

See More! 🚀

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

See More! 🚀

semaphore

Semaphore pattern implementation with timeout of lock/unlock operations based on channel and context

See More! 🚀

anchor

Library to manage component lifecycle in microservice architectures

See More! 🚀

artifex

Simple in-memory job queue for Golang using worker-based dispatching

See More! 🚀

async

An asynchronous task package with async/await style for Go

See More! 🚀

async

An alternative sync library for Go (Future, Promise, Locks)

See More! 🚀

channelify

Transform your function to return channels for easy and powerful parallel processing

See More! 🚀

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

See More! 🚀

cyclicbarrier

CyclicBarrier for golang

See More! 🚀

go-accumulator

Solution for accumulation of events and their subsequent processing

See More! 🚀

go-flow

Control goroutines execution order

See More! 🚀

go-tools/multithreading

Manage a pool of goroutines using this lightweight library with a simple API

See More! 🚀

go-workerpool

Inspired from Java Thread Pool, Go WorkerPool aims to control heavy Go Routines

See More! 🚀

grpool

Lightweight Goroutine pool

See More! 🚀

parallel-fn

Run functions in parallel

See More! 🚀

routine

go routine control with context, support: Main, Go, Pool and some useful Executors

See More! 🚀

semaphore

Fast resizable semaphore implementation based on CAS (faster than channel-based semaphore implementations)

See More! 🚀

threadpool

Golang threadpool implementation

See More! 🚀

workerpool

Goroutine pool that limits the concurrency of task execution, not the number of tasks queued

See More! 🚀

ants

A high-performance and low-cost goroutine pool in Go

See More! 🚀

concurrency-limiter

Concurrency limiter with support for timeouts, dynamic priority and context cancellation of goroutines

See More! 🚀

flowmatic

Structured concurrency made easy

See More! 🚀

go-actor

A tiny library for writing concurrent programs using actor model

See More! 🚀

go-trylock

TryLock support on read-write lock for Golang

See More! 🚀

go-waitgroup

Like `sync.WaitGroup` with error handling and concurrency control

See More! 🚀

goccm

Go Concurrency Manager package limits the number of goroutines that allowed to run concurrently

See More! 🚀

stl

Software transactional locks based on Software Transactional Memory (STM) concurrency control mechanism

See More! 🚀

tunny

Goroutine pool for golang

See More! 🚀

worker-pool

goworker is a Go simple async worker pool

See More! 🚀

autopool

Zero-config, auto-scaling worker pool for Go with priority-aware scheduling

See More! 🚀

async-job

AsyncJob is an asynchronous queue job manager with light code, clear and speed

See More! 🚀