This course presents you a hands-on look at creating concurrent and parallel programs using the Go programming language. From a blazing-fast garbage-collected memory model to effortless, lightweight Goroutines to speedy communication using in-memory channels, Go makes powerful concurrency primitives available which are unparalleled in other languages. This course provides you with both the theoretical and practical knowledge you will need to apply them to your own software.
This course covers the basics of concurrency and parallelism in Go, along with in-depth looks at the three types of concurrent and parallel program models and an introduction to concurrent architecture. This course will show you the multitude of tools available in Go for implementing concurrent systems, including goroutines, blocking channels, buffered channels, and non-blocking in-memory communication.You will build multiple concurrent applications and examine the benefits and drawbacks of the various concurrency options available.
By the end of the course, you will be able to rapidly and confidently identify concurrent and parallel problems and apply the Go language concurrency constructs to solve them.
About the Author
Leo Tindall is a software developer and hacker from San Diego whose interests include scalability, parallel software, and machine learning.
263
35
TAKE THIS COURSE