Go Goroutines

Open-source Go projects categorized as Goroutines

Top 23 Go Goroutine Projects

  • ants

    🐜🐜🐜 ants is a high-performance and low-cost goroutine pool in Go./ ants ζ˜―δΈ€δΈͺι«˜ζ€§θƒ½δΈ”δ½ŽζŸθ€—ηš„ goroutine 池。

  • conc

    Better structured concurrency for go

  • Project mention: The Case of a Leaky Goroutine | news.ycombinator.com | 2024-03-25

    It's a pity Go didn't have structured concurrency: https://vorpus.org/blog/notes-on-structured-concurrency-or-g...

    There's a library for it: https://github.com/sourcegraph/conc

    But this goes to one of the things I've been kind of banging on about languages, which is that if it's not in the language, or at least the standard library right at the beginning, sometimes it almost might as well not exist. Sometimes a new language can be valuable, even if it has no "new" language features, just to get a chance to reboot the standard library it has and push for patterns that older languages are theoretically capable of, but they just don't play well with any of the libraries in the language. Having it as a much-later 3rd party library just isn't good enough.

    (In fact if I ever saw a new language start up and that was basically its pitch, I'd be very intrigued; it would show a lot of maturity in the language designer.)

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • tunny

    A goroutine pool for Go

  • goworker

    goworker is a Go-based background worker that runs 10 to 100,000* times faster than Ruby-based workers.

  • pond

    πŸ”˜ Minimalistic and High-performance goroutine worker pool written in Go

  • grpool

    Lightweight Goroutine pool

  • pool

    :speedboat: a limited consumer goroutine or unlimited goroutine pool for easier goroutine handling and cancellation

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • gowp

    golang worker pool , Concurrency limiting goroutine pool

  • go-floc

    Floc: Orchestrate goroutines with ease.

  • flowmatic

    Structured concurrency made easy

  • Project mention: Async rust – are we doing it all wrong? | news.ycombinator.com | 2023-07-19

    I do that of course, and that's one of the easiest ways to use async Rust. In real projects you need much more however. F.ex. I had to code an example of how to add tasks to an already running pool of tasks and posted my findings here: https://github.com/dimitarvp/rust-async-examples/blob/main/e... (there's #2 as well with some more comments and a different approach).

    The fact that I needed to make a GitHub repo and start making show-and-tell demos on how to do various things with async Rust to me is both a red flag and me being diligent BUT it should be more obvious. And promoted in docs.

    Rust started suffering from "you got all the nuts and bolts in place, now build your own solution, son" syndrome which I grew to dislike. Too low-level. I wouldn't mind something akin to e.g. Golang's flowmatic library (check the first two examples at the top of the README): https://github.com/carlmjohnson/flowmatic

  • Goflow

    Simply way to control goroutines execution order based on dependencies

  • artifex

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

  • roumon

    Universal goroutine monitor using pprof and termui

  • semaphore go

    Fast resizable golang semaphore primitive (by marusama)

  • neilotoole/errgroup

    errgroup with goroutine worker limits

  • broadcast

    Notification broadcaster library

  • cyclicbarrier

    CyclicBarrier golang implementation

  • Syncs

    Concurrency and synchronization primitives

  • async

    A safe way to execute functions asynchronously, recovering them in case of panic. It also provides an error stack aiming to facilitate fail causes discovery. (by StudioSol)

  • gollback

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

  • go-actor

    A tiny library for writing concurrent programs in Go using actor model

  • threadpool

    Golang simple thread pool implementation (by shettyh)

  • Hunch

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

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020).

Go Goroutines related posts

Index

What are some of the best open-source Goroutine projects in Go? This list will help you:

Project Stars
1 ants 12,070
2 conc 8,402
3 tunny 3,770
4 goworker 2,767
5 pond 1,219
6 grpool 737
7 pool 722
8 gowp 489
9 go-floc 264
10 flowmatic 239
11 Goflow 218
12 artifex 183
13 roumon 173
14 semaphore go 166
15 neilotoole/errgroup 157
16 broadcast 143
17 cyclicbarrier 137
18 Syncs 132
19 async 130
20 gollback 116
21 go-actor 115
22 threadpool 98
23 Hunch 97

Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com