Meetup on 2023-09-05
Go Go Go (routines...) - Go's concurrency model
Agenda
We'll be digging into Go's concurrency pattern: go routines. We'll cover the core concepts, why they are easy and cheap to use, and explore some common use cases.
Beyond the basics, we'll discuss data access from a go routine "safe" perspective, when you might need a mutex and the various tools the sync
package gives you for managing access to shared state.
Finally, we'll dig into go's channels and how they enable you to easily build efficient data pipelines and work queues, but also hand you a large foot-gun with which you can completely halt code execution (the dreaded channel deadlock)
There is a lot here, and it would be better to do less rather than more to gain a good understanding of what is going on. We'll move at a consistent pace, hopefully have lots of examples, and try to write some code together that shows each of the concepts in action.