Go-lang Goroutines

Back

1. ants

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

2. artifex

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

3. async

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

4. breaker

Flexible mechanism to make execution flow interruptible.

5. channelify

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

6. concurrency-limiter

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

7. 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.

8. cyclicbarrier

CyclicBarrier for golang.

9. 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.

10. go-floc

Orchestrate goroutines with ease.

11. go-flow

Control goroutines execution order.

12. go-tools/multithreading

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

13. go-trylock

TryLock support on read-write lock for Golang.

14. go-waitgroup

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

15. go-workers

Easily and safely run workers for large data processing pipelines.

16. goccm

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

17. gohive

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

18. gollback

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

19. 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.

20. goworker

goworker is a Go-based background worker.

21. gowp

gowp is concurrency limiting goroutine pool.

22. gpool

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

23. grpool

Lightweight Goroutine pool.

24. hands

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

25. Hunch

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

26. kyoo

Provides an unlimited job queue and concurrent worker pools.

27. neilotoole/errgroup

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

28. nursery

Structured concurrency in Go.

29. oversight

Oversight is a complete implementation of the Erlang supervision trees.

30. parallel-fn

Run functions in parallel.

31. pond

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

32. pool

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

33. queue

Gives you a `sync.WaitGroup` like queue group accessibility. Helps you to throttle and limit goroutines, wait for the end of the all goroutines and much more.

34. routine

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

35. semaphore

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

36. stl

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

37. threadpool

Golang threadpool implementation.

38. tunny

Goroutine pool for golang.

39. worker-pool

goworker is a Go simple async worker pool.

40. workerpool

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