148 Resources
Golang goroutine-safe Libraries
A lightweight eventbus that simplifies communication between goroutines,
English | 简体中文 eventbus A lightweight eventbus that simplifies communication between goroutines, it supports synchronous and asynchronous message publ
Worker pool library with auto-scaling, backpressure, and easy composability of pools into pipelines
workerpool Worker pool library with auto-scaling, backpressure, and easy composability of pools into pipelines. Uses Go 1.18 generics. Notable differe
A lib for monitoring runtime goroutine stack
Overview A lib for monitoring runtime goroutine stack. Such as wait for goroutines to exit, leak detection, etc. Features context.Context first design
Goroutine Leak Detector
Leaktest Refactored, tested variant of the goroutine leak detector found in both net/http tests and the cockroachdb source tree. Takes a snapshot of r
Type-safe, DRY, flexible test fixture factory based on Go 1.18+ Generics
Fixtory is a test fixture factory which initializes type-safe, DRY, flexible fixtures with the power of Generics. By using Fixtory... No more redundan
A generator library for concise, unambiguous and URL-safe UUIDs
shortuuid A Go library that generates concise, unambiguous, URL-safe UUIDs. Based on and compatible with the Python library shortuuid. Often, one need
Sample code snippet to familiarize golang . Concept of goroutines , channels, concurrency is implemented in a sample scenario
go-mysql-goroutines-channel Sample code snippet to familiarize golang . Concept of goroutines , channels, concurrency , interface, slice, error handli
Practical concurrency guide in Go, communication by channels, patterns
Go Concurrency Guide This guide is built on top of the some examples of the book Go Concurrency in Go and Go Programming Language Race Condition and D
ZenQ - A low-latency thread-safe queue in golang implemented using a lock-free ringbuffer
ZenQ A low-latency thread-safe queue in golang implemented using a lock-free ringbuffer Features Much faster than native channels in both SPSC (single
Generic sharded thread safe LRU cache in Go.
cache Cache is a thread safe, generic, and sharded in memory LRU cache object. This is achieved by partitioning values across many smaller LRU (least
Type-safe assertion helpers for Go
attest attest is a small package of type-safe assertion helpers. Under the hood, it uses cmp for equality testing and diffing. You may enjoy attest if
Collection of high performance, thread-safe, lock-free go data structures
Garr - Go libs in a Jar Collection of high performance, thread-safe, lock-free go data structures. adder - Data structure to perform highly-performant
Simple, safe conversion of any type, including indirect/custom types.
cvt Simple, safe conversion of any type, including indirect/custom types. Install go get -u github.com/shockerli/cvt Usage English | 中文 with error Met
Config-loader - Minimal and safe way to load in configuration files without any extra boilerplate, made for my own personal usage
💕 config-loader Minimal and safe way to load in configuration files without any
Start of a project that would let people stay informed about safe running spaces in their area.
SafeRun Start of a project that would let people stay informed about safe running spaces in their area. Too many people I'm friends with feel unsafe w
Some tests and examples with goroutines and channels
goroutine-playground Some tests and examples with goroutines and channels simpleAsyncCalls Runs functions in background and doesn't wait for results a
Goworkers - Zero dependency Golang worker pool
Golang Worker Pool Zero dependency golang goroutines pool library. It is useful
A clean, safe, user-friendly implementation of GraphQL's Dataloader, written with generics in go
go-dataloader A clean, safe, user-friendly implementation of GraphQL's Dataloader, written with generics in go (go1.18beta1). Features written in gene
Thread-safe LRU cache with permanency and context-based expiration
go-wlru Thread-safe LRU cache with permanency and context-based expiration Operational Complexity (Time) Operation Best Average Worst Access Θ(1) Θ(1)
Routine - ThreadLocal for golang
routine 中文版 routine encapsulates and provides some easy-to-use, high-performance
A thread-safe concurrent map for go
cmap The map type in Go doesn't support concurrent reads and writes. cmap(concurrent-map) provides a high-performance solution to this by sharding the
A cross goroutine storage tool with very simple implementation and function.
Simple-goroutine-local is a cross goroutine storage tool with very simple implementation and function (the concept is similar to Java ThreadLocal). Ge
A concurrent toolkit to help execute funcs concurrently in an efficient and safe way
conexec is a concurrent toolkit to help execute functions concurrently in an efficient and safe way. It supports specifying the overall timeout to avoid blocking.
Package queue gives you a queue group accessibility
package queue gives you a queue group accessibility. Helps you to limit goroutines, wait for the end of the all goroutines and much more.
Chai - type safe http handlers with automatic swagger generation
chai Description chai is an extension for a few popular http routers that adds s
Golang type-safe dependency injection
nject, npoint, nserve, & nvelope - dependency injection Install: go get github.com/muir/nject This is a quartet of packages that together make up a m
Bloomfilter - Face-meltingly fast, thread-safe, marshalable, unionable, probability- and optimal-size-calculating Bloom filter in go
Important: Zeroth, consider if a Cuckoo filter could be right for your use-case. Face-meltingly fast, thread-safe, marshalable, unionable, probability
Marlow - golang generator for type-safe sql api constructs
Marlow is a code generation tool written in golang designed to create useful constructs that provide an ergonomic API for interacting with a project's
G文⚡️: Concurrency-safe, Free and Unlimited google translate api for Golang. 🔥免费、无限、并发安全的谷歌翻译包
Googletrans G文 ⚡️ : Concurrency-safe, free and unlimited golang library that implemented Google Translate API. Inspired by py-googletrans. Features Ou
An interactive tool to analyze Golang goroutine dump.
goroutine-inspect An interactive tool to analyze Golang goroutine dump. Build and Run go get github.com/linuxerwang/goroutine-inspect $GOPATH/bin/goro
This is an concurrent-queue and concurrent-stack lib for the go.
This is an concurrent-queue and concurrent-stack lib for the go. Getting Started Pull in the dependency go get github.com/boobusy/vector Add the impor
Design and Implement an in-memory caching library for general use
Cache Implementation in GoLang Problem Statement Design and Implement an in-memory caching library for general use. Must Have Support for multiple Sta
Supports the safe and convenient execution of asynchronous computations with goroutines and provides facilities for the safe retrieval of the computation results.
Rendezvous The Rendezvous library supports the safe and convenient execution of asynchronous computations with goroutines and provides facilities for
Command pattern for Go with thread safe serial and parallel dispatcher
Command Command pattern for Go with thread safe serial and parallel dispatcher. Installation go get -u github.com/txgruppi/command Tests go get -u -t
This provides the lru package which implements a fixed-size thread safe LRU cache
golang-lru This provides the lru package which implements a fixed-size thread sa
High performance, type safe, concurrency limiting worker pool package for golang!
GOWP Package gowp (Go Worker-Pool) provides concurrency limiting, error propagation, and Context cancellation for a group of workers/goroutines. Featu
A safe time-independent random number/string generator.
🦎 RanGo A time-independent random number/string generator. 📦 Installation First: go get github.com/yektadev/rango Then, add the dependency to your
A safe, fast, highly interactive and enterprise level honeypot management system, supports multiple protocol honeypots, honeytokens, baits and other functions.
A safe, fast, highly interactive and enterprise level honeypot management system, supports multiple protocol honeypots, honeytokens, baits and other functions.
A memory-safe SSH server, focused on listening only on VPN networks such as Tailscale
Features Is tested to work with SCP Integrates well with systemd Quickstart Download binary for your architecture. We only support Linux. If you don't
Package ring provides a high performance and thread safe Go implementation of a bloom filter.
ring - high performance bloom filter Package ring provides a high performance and thread safe Go implementation of a bloom filter. Usage Please see th
A safe way to execute functions asynchronously, recovering them in case of panic.
Async Provides a safe way to execute functions asynchronously, recovering them in case of panic. It also provides an error stack aiming to facilitate
gpool - a generic context-aware resizable goroutines pool to bound concurrency based on semaphore.
gpool - a generic context-aware resizable goroutines pool to bound concurrency. Installation $ go get github.com/sherifabdlnaby/gpool import "github.c
A lightweight, thread-safe FIFO queue with fixed capacity.
FIFO Queue Thread-safe, lightweight, tested FIFO queue with fixed size, which is built upon list for performance ;-) This implement is inspired by htt
This Go package provides a sandbox for the safe execution of panic-inducing programs
go-safe This Go package provides a sandbox for the safe execution of panic-inducing programs. This package is intended for use in development and unit
Light weight thread safe cache for golang
go-cache Light weight thread safe LRU cache Getting started import( "fmt" "github.com/tak1827/go-cache/lru" ) func main() { size := 2 cache := l
Type-safe functions for common Go slice operations
Type-safe functions for common Go slice operations. Installation go get github.com/psampaz/slice Operations ✔ = Supported ✕ = Non supported - = Not y
Provide the ability for exactly two Single Node OpenShift clusters to operate as a predefined pair in an active-passive or active-active configuration, detect when its peer has died and automatically take over its workloads after ensuring it is safe to do so.
High Availability Single Node Openshift Setup Operator Provide the ability for exactly two Single Node OpenShift clusters to operate as a predefined p
Sugared logger for console with request id
📝 zlog You don't know what it's like, you don't have a clue If you did you'd find yourselves doing the same thing too Sugared logger for console with
✨ This pack of 100+ gopher pictures and elements will help you to build own design of almost anything related to Go Programming Language: presentations, posts in blogs or social media, courses, videos and many, many more.
Free Gophers Pack 🌟 🌈 💗 Meet the New Emotional Gophers! 💗 🌈 🌟 This pack of 100+ gopher pictures and elements will help you to build own design o
A thread-safe concurrent map for go
concurrent map Original repo didn't support go mod and no any tags,so I forkd this repo add go mod support and patch a tag on this repo. No any code c
Type-safe atomic values for Go
Type-safe atomic values for Go One issue with Go's sync/atomic package is that there is no guarantee from the type system that operations on an intege
Error-safe value caster for golang
Caster Error-safe value caster. NewCaster Create new caster instance from value. // Signature NewCaster(data interface{}) Caster // Example import "g
Go implementation of OTP (One-time-password). SMS send async (goroutine)
Go-OTP Go realization to otp authentication Stack: Redis (Save OTP and token) Go SMS provider (Megafon as example) Schema: User send phonenumber (ex.7
Simple, fast and safe cross-platform linear binary stream communication protocol. AES key exchange based on ecc secp256k1
FFAX Protocol 2 dev 简体中文 Welcome to FFAX Protocol v2 Quick start go get github.com/RealFax/FFAX func example() { listener, err := net.Listen("tcp",
Pengenalan Concurrency dan Parallel Programming
Golang Goroutine Sumber Tutorial: Udemy Slide Pengenalan Concurrency dan Parallel Programming Pengenalan Parallel Programming Saat ini kita hidup dima
Handle any SQS use case, monitor any queue. Reusable for any project! Invoke in a goroutine to process SQS messages.
GOSQS This package is intended to be a Go SQS listener that can be imported and invoked as a goroutine handled by the life cycle of your service. It's
Image clone controller is a kubernetes controller to safe guard against the risk of container images disappearing
Image clone controller image clone controller is a kubernetes controller to safe guard against the risk of container images disappearing from public r
A broadcasting library for Go
broadcast A broadcasting library for Go. What? broadcast is a library that allows sending repeated notifications to multiple goroutines with guarantee
File Processor in Concurrency Pattern using Golang goroutine.
File Processor in Concurrency Pattern Implement a file processor solution in concurrency pattern using Golang goroutine. Get Started Run docker-compos
A simple application lifecycle management tool with multiple servers.
A simple application lifecycle management tool with multiple servers.
Toy program for benchmarking safe and unsafe ways of saving a file
save-a-file benchmarks the many strategies an editor could use to save a file. Example output on a SSD: ext4: $ ./save-a-file ~/tmp/foo 29.195µs per s
Multithreaded key value pair store using thread safe locking mechanism allowing concurrent reads
Project Amnesia A Multi-threaded key-value pair store using thread safe locking mechanism allowing concurrent reads. Curious to Try it out?? Check out
A universal mechanism to manage goroutine lifecycles
A universal mechanism to manage goroutine lifecycles
Simple, safe and compiled programming language.
The X Programming Language Simple, safe and compiled programming language. Table of Contents Overview OS Support Contributing License Overview The X p
Completely type-safe compile-time mock generator for Go
Mockc Mockc is a completely type-safe compile-time mock generator for Go. You can use it just by writing the mock generators with mockc.Implement() or
🐺 Garment retains a single connection pool for different database types used inside you application
Garment A Thread Safe Connection Pooling. Garment retains a single connection pool for different database types used inside you application (MySQL, Re
Queue is a Golang library for spawning and managing a Goroutine pool
Queue is a Golang library for spawning and managing a Goroutine pool, Alloowing you to create multiple worker according to limit CPU number of machine.
sget is a keyless safe script retrieval and execution tool
sget ⚠️ Not ready for use yet! sget is a keyless safe script retrieval and execution tool Security Should you discover any security issues, please ref
📦 Go version of the Python pewn library.
Gownload Go version of pewn. Allows you to Download file(s) easily.
Queue is a Golang library for spawning and managing a Goroutine pool
Queue is a Golang library for spawning and managing a Goroutine pool, Alloowing you to create multiple worker according to limit CPU number of machine.
Various implementations of a go-routine safe counter
Shared Counter Implementations Not Safe Counter Mutex Counter Channel Counter Atomic Counter Compare and Swap Counter Compare and Swap Float Counter T
yakv is a simple, in-memory, concurrency-safe key-value store for hobbyists.
yakv (yak-v. (originally intended to be "yet-another-key-value store")) is a simple, in-memory, concurrency-safe key-value store for hobbyists. yakv provides persistence by appending transactions to a transaction log and restoring data from the transaction log on startup.
cpuworker - A Customized Goroutine Scheduler over Golang Runtime
cpuworker Status Working in process. Run the Demo Make sure the GOMAXPROCS is bigger than 1 and there is at least GOMAXPROCS physical OS threads avail
gogo is a language with a gogoroutine on goroutine
gogo based on the go lang branch dev.go2go 修改 ast 支持 gogo 关键字 修改 checker(types/stmt.go) Example package main import ( "fmt" "time" ) func main()
Provides some convenient API, includes Goid(), AllGoid(), and LocalStorage, which is a goroutine's local storage, just like ThreadLocal in other languages.
routine 中文版 routine encapsulates and provides some easy-to-use, high-performance goroutine context access interfaces, which can help you access corout
dagger is a fast, concurrency safe, mutable, in-memory directed graph library with zero dependencies
dagger is a blazing fast, concurrency safe, mutable, in-memory directed graph implementation with zero dependencies
ConnPool is a thread safe connection pool for net.Conn interface.
ConnPool is a thread safe connection pool for net.Conn interface. It can be used to manage and reuse connections.
A simple thread-safe, fixed size LRU written in Go. Based on dominictarr's Hashlru Algorithm. 🔃
go-hashlru A simple thread-safe, fixed size LRU written in Go. Based on dominictarr's Hashlru Algorithm. 🔃 Uses map[interface{}]interface{} to allow
A simple and useful goroutine concurrent library.
Taskgroup A simple and useful goroutine concurrent library. Installation go get github.com/anthhub/taskgroup
coyim - a safe and secure chat client
CoyIM - a safe and secure chat client CoyIM is a new client for the XMPP protocol. It is built upon https://github.com/agl/xmpp-client and https://git
Goroutine local storage
gls Goroutine local storage IMPORTANT NOTE It is my duty to point you to https://blog.golang.org/context, which is how Google solves all of the proble
Lightweight, Simple, Quick, Thread-Safe Golang Stack Implementation
stack Lightweight, Simple, Quick, Thread-Safe Golang Stack Implementation Purpose Provide a fast, thread safe, and generic Golang Stack API with minim
A lightweight job scheduler based on priority queue with timeout, retry, replica, context cancellation and easy semantics for job chaining. Build for golang web apps.
Table of Contents Introduction What is RIO? Concern An asynchronous job processor Easy management of these goroutines and chaining them Introduction W
An HTTP performance testing tool written in GoLang
Gonce A HTTP API performance testing tool written in GoLang Description Installation Usage Description A performance testing tool written in GoLang. S
Chanify is a safe and simple notification tools. This repository is command line tools for Chanify.
Chanify is a safe and simple notification tools. For developers, system administrators, and everyone can push notifications with API.
Generate type safe Go from SQL
sqlc: A SQL Compiler sqlc generates type-safe code from SQL. Here's how it works: You write queries in SQL.
A simple and efficient thread-safe sharded hashmap for Go
shardmap A simple and efficient thread-safe sharded hashmap for Go. This is an alternative to the standard Go map and sync.Map, and is optimized for w
Goroutine leak detector
goleak Goroutine leak detector to help avoid Goroutine leaks. Installation You can use go get to get the latest version: go get -u go.uber.org/goleak
a thread-safe concurrent map for go
concurrent map As explained here and here, the map type in Go doesn't support concurrent reads and writes. concurrent-map provides a high-performance
🍀 Go basic library. || Go语言基础库
Go语言基础库 工程目录说明 pkg/ ...... 源码包 |-- bininfo/ ...... 将编译时源码的git版本信息(当前commit log的sha值和commit message),编译时间,Go版本,平台打入程序中
safe and easy casting from one type to another in Go
cast Easy and safe casting from one type to another in Go Don’t Panic! ... Cast What is Cast? Cast is a library to convert between different go types
Simple, fast, safe, compiled language for developing maintainable software. Compiles itself in 1s with zero library dependencies. https://vlang.io
The V Programming Language vlang.io | Docs | Changelog | Speed | Contributing & compiler design Key Features of V Simplicity: the language can be lear
Simple, thread-safe Go rate-limiter
RateLimit Simple, thread-safe Go rate-limiter. Inspired by Antti Huima's algorithm on http://stackoverflow.com/a/668327 Example package main import (
Type-safe, zero-allocation sets for Go
Set Package set is a type-safe, zero-allocation port of the excellent package fatih/set. It contains sets for most of the basic types and you can gene
A Golang lock-free thread-safe HashMap optimized for fastest read access.
hashmap Overview A Golang lock-free thread-safe HashMap optimized for fastest read access. Usage Set a value for a key in the map: m := &HashMap{} m.S
Type-safe Redis client for Golang
Redis client for Golang Join Discord to ask questions. Documentation Reference Examples RealWorld example app Ecosystem Redis Mock. Distributed Locks.
Verifying concurrent crash-safe systems
Verifying concurrent, crash-safe systems with Perennial Perennial is a system for verifying correctness for systems with both concurrency and crash-sa
Prisma Client Go is an auto-generated and fully type-safe database client
Prisma Client Go Typesafe database access for Go Quickstart • Website • Docs • API reference • Blog • Slack • Twitter Prisma Client Go is an auto-gene
Subfinder is a subdomain discovery tool that discovers valid subdomains for websites. Designed as a passive framework to be useful for bug bounties and safe for penetration testing.
Fast passive subdomain enumeration tool. Features • Install • Usage • API Setup • License • Join Discord Subfinder is a subdomain discovery tool that