4 ms·
"This concurrency model may also be seen as a generalization of Unix named pipes where processes and pipes correspond to coroutines and channels." This is in k
by monetus 5y ago
"This concurrency model may also be seen as a generalization of Unix named pipes where processes and pipes correspond to coroutines and channels."
This is in keeping with tcl, bash, and glue languages - I love this. I'm about to go looking for it, but if anyone can point me to a good reference on Go's concurrency model or it's best practices I would be much obliged.
- sigg3 5y agoEffective Go is often thrown around to newcomers such as myself. https://go.dev/doc/effective_go#concurrency https://go.dev/doc/effective_go#concurrency And go by example, of course: https://gobyexample.com/goroutines https://gobyexample.com/goroutines
- hvgk 5y agoThis is the best reference I found: https://gobyexample.com/goroutines https://gobyexample.com/goroutines Keep reading the next thing until they stop talking about concurrency.
- dradtke 5y agoThis post might be the most straightforward starting point: https://go.dev/blog/pipelines https://go.dev/blog/pipelines
- avl999 5y agoThe chapter on channels in Concurrency in Go https://www.oreilly.com/library/view/concurrency-in-go/9781491941294/ https://www.oreilly.com/library/view/concurrency-in-go/97814... is a must read for anyone looking to write concurrent code in Go. There are many "rules" you need to follow with channels to avoid shooting yourself in the foot that I haven't seen summarized in blog posts/official go docs
- sethammons 5y agoI recommend rob pike's talk on Go concurrency patterns.
- assbuttbuttass 5y agoGreat presentation with a lot of examples: https://youtu.be/5zXAHh5tJqQ https://youtu.be/5zXAHh5tJqQ I've used examples from this presentation at work