An open API service indexing awesome lists of open source software.

https://github.com/golangsam/pipe

A pipers bag - generic functions to gain concurrency - batteries included :-)
https://github.com/golangsam/pipe

chan channels concurency concurrency-library concurrency-management concurrency-patterns concurrent-processes concurrent-programming go golang golang-examples golang-library parallel-computing parallel-processing parallelism pipe pipeline pipelines-as-code pipelining pipes

Last synced: 3 months ago
JSON representation

A pipers bag - generic functions to gain concurrency - batteries included :-)

Awesome Lists containing this project

README

        

# `pipe/s`
A pipers bag - generic functions to gain concurrency - batteries included :-)

[![Software License](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square)](LICENSE.md)
[![Go Report Card](https://goreportcard.com/badge/github.com/GoLangsam/pipe)](https://goreportcard.com/report/github.com/GoLangsam/pipe)
[![Build Status](https://travis-ci.org/GoLangsam/pipe.svg?branch=master)](https://travis-ci.org/GoLangsam/pipe)
[![GoDoc](https://godoc.org/github.com/GoLangsam/pipe?status.svg)](https://godoc.org/github.com/GoLangsam/pipe)

`pipe/s` - an extensive and systematic ensemble of [concurrency](readme/adverts.md)-based mechanisms

- as ready-to-use generic production-grade code
- in different sizes such [`s`](s/) and [`m`](m/) (mind You: one size never fit's all)
- with comprehensively explained concepts, formulas and terminology - [readme](readme/)
- complemented with lots of 'how-to-do' and 'how-to-use' [expamples](expamples/).

- Follow a (hopefully) enlightening [evolution](readme/evolve.md).
- Begin with oversimplified (but popular!) [code](readme/in-the-wild.md).
- Encounter dangerous [pitfalls and easy-to-do mistakes](readme/pitfalls.md) along the way.
- Improve Your use of vaccines and protective habits.
- Ascend to implementations of [some](any/) higher-level concepts such as 'load balancer', 'circular crawler' ...
- Eventually encounter the little-known land of concurrent **lazy** evaluation.

That's where we aim to go here - using [go](https.//golang.org/ "golang.org"), common sense and playful discipline.

Note: `pipe/s` complements Your existing types and functions - intentionally it is **not** a framework.

Are You ready for this?

```
go get -u github.com/GoLangsam/pipe
```

Still in doubt? Have a peek at the short [prolog](readme/prolog.md).
And the [overview](readme/overview.md) is a good place to start...

May, what You find here in this repo, be a trustworthy and helpful companion along Your journey. Enjoy!

---
Your suggestions, remarks, questions and/or contributions are welcome ;-)

---
## Think deep - code happy - be simple - see clear :-)

---
## Support on Beerpay
Hey dude! Help me out for a couple of :beers:!

[![Beerpay](https://beerpay.io/GoLangsam/pipe/badge.svg?style=beer-square)](https://beerpay.io/GoLangsam/pipe) [![Beerpay](https://beerpay.io/GoLangsam/pipe/make-wish.svg?style=flat-square)](https://beerpay.io/GoLangsam/pipe?focus=wish)