Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/oguzhantasimaz/go-concurrency-examples-in-detail
Golang Concurrency examples with explanations
https://github.com/oguzhantasimaz/go-concurrency-examples-in-detail
concurrency concurrency-examples concurrency-patterns concurrent concurrent-programming education example examples go go-examples golang golang-examples learning open-source parallelism patterns synchronization thread tutorial
Last synced: about 1 month ago
JSON representation
Golang Concurrency examples with explanations
- Host: GitHub
- URL: https://github.com/oguzhantasimaz/go-concurrency-examples-in-detail
- Owner: oguzhantasimaz
- Created: 2023-09-26T14:56:44.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2023-10-18T10:25:18.000Z (about 1 year ago)
- Last Synced: 2024-10-12T14:02:49.638Z (about 1 month ago)
- Topics: concurrency, concurrency-examples, concurrency-patterns, concurrent, concurrent-programming, education, example, examples, go, go-examples, golang, golang-examples, learning, open-source, parallelism, patterns, synchronization, thread, tutorial
- Language: Go
- Homepage:
- Size: 127 KB
- Stars: 7
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Go Concurrency Examples In Detail
Welcome to the Go Concurrency Examples repository! This collection of code snippets and examples is designed to help you understand and implement concurrency in Go (Golang).
## Before You Begin
This repository still under development. I will add more examples as I learn more about concurrency in Go.Most of the folders contain a README.md file that explains the code in detail. I'll add README.md files to the remaining folders as soon as possible.
## Introduction
Go is known for its powerful concurrency support through goroutines and channels. This repository aims to show Go's concurrency features and provide you with hands-on examples that cover a wide range of topics.## Getting Started
To get started with these examples, follow these steps:
1. **Clone the Repository**: Clone this repository to your local machine using `git clone`.
```shell
git clone https://github.com/oguzhantasimaz/Go-Concurrency-Examples-In-Detail.git
```
## ContributingIf you have additional examples, improvements, or corrections to existing code, please feel free to open a pull request.
Also feel free to customize this README.md file.### Notes
I strongly recommend you to research Communicating Sequential Processes (CSP). This is the theoretical basis of Go's concurrency model. I have added a link to the book below. You can also find a lot of resources on the internet.Even though defer is not a concurrency feature, I added a DeferWorkLogic folder to show you how defer works. I think it is a good idea to know how defer works before you start learning concurrency in Go.
I also recommend checking out the VisualizeConcurrencyWithSVG folder. It is a good way to visualize concurrency in Go. For you to understand how it works, I added a README.md file to the folder. You can find more information there.
## Resources
- [Mastering Concurrency in Go](https://www.packtpub.com/product/mastering-concurrency-in-go/9781783983483) by Nathan Kozyra
- [Concurrency in Go](https://www.oreilly.com/library/view/concurrency-in-go/9781491941294/) by Katherine Cox-Buday
- [Communicating Sequential Processes](http://www.usingcsp.com/cspbook.pdf) by Tony Hoare