Goroutines

49 packages 1 resources

Packages (49)

ants

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

14,309 1,429

conc

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

10,292 353

tunny

Goroutine pool for golang.

4,030 309

goworker

goworker is a Go-based background worker.

2,847 243

pond

Minimalistic and High-performance goroutine worker pool written in Go.

2,072 78

rill

Go toolkit for clean, composable, channel-based concurrency.

1,800 25

workerpool

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

1,441 149

grpool

Lightweight Goroutine pool.

741 101

pool

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

729 65

gowp

gowp is concurrency limiting goroutine pool.

522 67

flowmatic

Structured concurrency made easy.

397 8

async

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

293 15

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.

286 28

go-actor

A tiny library for writing concurrent programs using actor model.

276 18

go-floc

Orchestrate goroutines with ease.

271 17

go-flow

Control goroutines execution order.

223 28

artifex

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

214 14

semaphore

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

177 9

neilotoole/errgroup

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

164 11

async

A safe way to execute functions asynchronously, recovering them in case of panic.

139 18

gollback

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

123 13

Hunch

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

105 12

semaphore

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

103 11

threadpool

Golang threadpool implementation.

103 19

worker-pool

goworker is a Go simple async worker pool.

92 13

gpool

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

91 4

goccm

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

73 13

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.

71 9

nursery

Structured concurrency in Go.

70 6

routine

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

62 8

gohive

A highly performant and easy to use Goroutine pool for Go.

53 6

kyoo

Provides an unlimited job queue and concurrent worker pools.

51 4

go-waitgroup

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

49 4

go-trylock

TryLock support on read-write lock for Golang.

36 10

channelify

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

33 3

stl

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

31 6

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.

29 2

breaker

Flexible mechanism to make execution flow interruptible.

20 1

concurrency-limiter

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

18 5

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.

18 2

async

An asynchronous task package with async/await style for Go.

15 2

async-job

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

12

go-workerpool

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

12

go-accumulator

Solution for accumulation of events and their subsequent processing.

10

hands

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

10 3

anchor

Library to manage component lifecycle in microservice architectures.

2

Resources & Links (1)